colors.rgb ("blue") donne "# 0000FF". colors.rgb ("bleu jaunâtre") donne NaN. colors.sort () donne "arc-en-ciel"
En utilisant les règles énoncées dans l'image et son titre (cités ici), créez un programme qui accepte toutes les entrées données et affiche la sortie appropriée.
La saisie peut être effectuée avec stdin ou son équivalent le plus proche. Il devrait y avoir une ligne comme celle
[n]>
sur laquelle taper, etn
augmente de 1 chaque commande. Il devrait commencer à 1.Le résultat devrait être affiché en utilisant stdout ou son équivalent le plus proche. Il devrait y avoir un
=>
sur chaque ligne de sortie.
Les 13 conditions, plus les 3 dans le titre (cité) doivent fonctionner.
C'est le code de golf, donc la réponse la plus courte gagne.
10.5
?n
augmenter de 1? Ce n'est pas ce que le comique fait ... ;-)Réponses:
Python 3,
700 698 697 689 683 639611Onglets comme indentation.
Puisque cela utilise un nu, sauf que vous ne pouvez pas le faire en Ctrl-C. Ctrl-Z et kill %% fonctionnent bien
Certaines conditions sont généralisées et d’autres ne fonctionneront qu’avec une saisie exacte.
A+"B"
travaillera avec tout A et B pas seulement quandA == B
"A"+[]
fonctionnera pour tout A pouvant être converti en int (comprend les chaînes hexadécimales et binaires, par exemple 0xff et 0b01010)(A/0)
fonctionnera pour tout A, Eval CausesDivideByZeroError
qui est traité dans le sauf(A/0)+B
fonctionnera avec tout A ou B.literal_eval
(E) soulève une erreur.""+""
ne fonctionne que pour le signe +. Tout le reste imprimera NaN, NaP ou NaN.00 ...[A, B, C]+D
fonctionne en vérifiant queD == C+1
cela fonctionnera pour toutes les longueurs de liste et tous les nombres.2/(2-(3/2+1/2))
, Tout ce qui ne parvient pas à analyser-
avec un+
endroit après sa sortie NaN.000 ... 13RANGE(" ")
Codé en dur+A
fonctionnera pour tout A. Ouputs"current_line_number+A"
A+A
fonctionne pour tout A tant qu'ils sont identiques et qu'ils sont de type python bulitinRANGE(1,5)
Codé en dur.FLOOR(A)
fonctionne pour tout A.colors.rgb("blue")
Le lstrip dans eval transforme cela engb("blue")
une réponse codée en dur.colors.rgb("yellowish blue")
Le lstrip dans eval tourne ceci dansgb("yellowish blue")
lequel tente d'utiliser une variable inexistante siy
est présent dans l'argument causant une erreur que except transforme en NaNcolors.sort()
Le lstrip transforme ceci ent()
une réponse codée en dur.Brainsteel a signalé une erreur dans mon hypothèse pour la règle 10.
la source
RANGE(" ")
est une plage de caractères allant du caractère guillemet double \ x22 au caractère espace \ x20 et inversement.2
concernant le saut: parce que Randall est réglé sur la4
ligne 11, 2 est maintenant 4 et 12 est maintenant 14. Ceci s’applique également aux numéros de ligne.Python, 1110 octets
La surcharge des opérateurs n’est pas un mal, non?
Mon objectif n’était pas autant de gagner (évidemment) que de le rendre aussi générique que possible. Très peu est codé en dur. Essayez des choses comme
RANGE(10)
,9*1
, etRANGE("A")
,(2/0)+14
et"123"
des résultats amusants!Voici un exemple de session:
la source
C, 412 octets
C'est fondamentalement codé en dur, mais toutes les autres réponses manquaient jusqu'à présent ...
Sortie:
la source
Python 3, 298
Tout est codé en dur, mais l'entrée est transformée en un nombre qui est ensuite converti en chaîne et recherché dans une grande chaîne contenant tous ces nombres suivis de leurs réponses.
la source
Python 3,
542484 octetsPuisqu'il n'y avait aucune mention de codage absolu, voici ma solution.
la source
"2+\"2\""
devient'2+"2"'
. Le nombre d'importations peut également être supprimé si vous ajoutez une variable de compteur.