05AB1E , 162 159 157 байт
Код
Черт возьми, слишком долго, но это по крайней мере что-то
">:U"VI3Qið16×7166b1ð:0Y:DUJ,Yð13×JD?X,3838b1ð:0Y:D?X,16255b1ð:0Y:D?X,16367b1ð:0Y:4F?X,}ð21×Y3×J,}¹2Qið4×" U U"©J,"> :"®JD," > "?®,,ð6×'U3×J,}¹iY,}"quack
Попробуйте онлайн!
объяснение
Существует первая часть кода ">:U"V, которая устанавливает Yэту строку. После этого мы просто проверяем, равен ли вход 3. Это делается на I3Qiчасти. Если равно, мы печатаем гигантскую сороку:
N = 3
Сначала начинается с ð16×16 символов пробела. После этого появляется номер 7166b. Это покрывает ">:U "часть, с небольшой помощью от Retina :). Я использовал этот скрипт для преобразования строки в двоичное число. После этого мы перейдем к 1ð:0Y:части, которая заменяет каждый 1с пробелом и каждый 0с Y, который был установлен в >:U. После этого мы Dдублируем эту строку, сохраняем ее в Xиспользовании Uи Jдобавляем в стек. Мы используем это ,, печатая полную строку с новой строкой. Все остальные после этого основаны на одном и том же принципе. Оператор if заканчивается на втором }.
Полное преобразование можно найти здесь .
N = 2
Теперь мы проверим, равен ли вход 2. Это делается на ¹2Qiчасти. После этого, если он равен, мы нажимаем пробел 4 раза, используя ð4×. После этого мы нажимаем на " U U"строку и храним ее, используя ©(идея явно украдена у Jelly: p). Мы снова Jраспаковываем стопку и печатаем ее с новой строки. После этого мы нажимаем "> :"строку, извлекаем " U U"использование ®, Jкладем в стек и Dдублируем эту строку и печатаем оба в одной строке.
Короткий тест, что это будет делать " > "?®,:?
После печати указанной выше строки мы получаем дубликат второй строки лица и печатаем его (так как он совпадает со второй строкой).
Последняя часть, охватываемая этим делом:
ð6×'U3×J,
ð6× # Push the space character × 6
'U3× # Push the "U" character three times
J, # Join and print pop with a newline
N = 1
Это легче объяснить:
¹1QiY
¹1Qi # Check if the input is equal to 1
Y # Push the magpie face
# This is then implicitly printed
N = 0
¹0Qi"quack
¹0Qi # Check if the input is equal to 0
"quack # Weird sound what magpies make
# Implicitly printed