05AB1E , 162 159 157 octets
Code
Bon sang, bien trop long, mais c'est au moins quelque chose:
">: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
Essayez-le en ligne!
Explication
La première partie du code existe ">:U"V
, qui définit Y
cette chaîne. Après cela, nous vérifions simplement si l'entrée est égale à 3. Cela se fait à la I3Qi
pièce. Si égal, nous imprimons la pie géante:
N = 3
Cela commence par ð16×
quoi il suffit de pousser 16 caractères d'espace. Après cela, il y a un numéro 7166b
. Cela couvre la ">:U "
partie, avec un peu d'aide de Retina :). J'ai utilisé ce script pour convertir la chaîne en un nombre binaire. Après cela, nous arrivons à la 1ð:0Y:
partie, qui remplace chaque 1
avec un caractère d'espacement et chaque 0
avec Y
, qui a été défini sur >:U
. Après cela, nous D
uplicate cette chaîne, le stocker dans l' X
utilisation U
et J
OIN la pile. Nous sautons ceci en utilisant ,
, qui imprime la chaîne complète avec une nouvelle ligne. Tous les autres suivants sont tous basés sur le même principe. La déclaration if se termine à la seconde }
.
La conversion complète peut être trouvée ici .
N = 2
Nous vérifions maintenant si l'entrée est égale à 2. Ceci est fait à la ¹2Qi
pièce. Après cela, si égal, nous poussons le caractère espace 4 fois en utilisant ð4×
. Après cela, nous poussons la " U U"
corde et la stockons avec ©
(idée volée de manière flagrante à Jelly: p). Nous J
retrouvons la pile et l’imprimons avec une nouvelle ligne. Après cela, nous poussons la "> :"
chaîne, récupérons l’ " U U"
utilisation ®
, J
la pile, puis D
mettons cette chaîne en place et les imprimons tous les deux sur la même ligne.
Petit quiz, qu'est-ce que ça va faire " > "?®,
?
Après avoir imprimé la chaîne ci-dessus, nous obtenons le duplicata de la deuxième ligne du visage et l’imprimons (puisque c’est la même chose que la deuxième ligne).
La dernière partie couverte par cette affaire est:
ð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
Celui-ci est plus facile à expliquer:
¹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