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
oin стеком. Ми з'являємо це за допомогою ,
, яке друкує повний рядок новим рядком. Всі інші після цього базуються на одному принципі. Оператор 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