Votre objectif est de créer une chanson de l’alphabet sous forme de texte de la manière suivante (dans l’ordre):
A is for <word starting with A>
B is for <word starting with B>
C is for <word starting with C>
...
Z is for <word starting with Z>
Exemple de sortie:
A is for Apple
B is for Banana
C is for Carrot
D is for Door
E is for Elephant
F is for Frog
G is for Goat
H is for Hat
I is for Icicle
J is for Jelly
K is for Kangaroo
L is for Lovely
M is for Mom
N is for Never
O is for Open
P is for Paste
Q is for Queen
R is for Rice
S is for Star
T is for Test
U is for Underneath
V is for Very
W is for Water
X is for X-ray
Y is for Yellow
Z is for Zipper
Règles:
Chaque "lettre" de la chanson a sa propre ligne, il y a donc 26 lignes et un saut de ligne possible.
La sortie est sensible à la casse:
- La lettre au début de chaque ligne doit être en majuscule.
is for
est en minuscule.- Le mot choisi n'a pas besoin d'être mis en majuscule, mais peut l'être. Toutes les lignes doivent être cohérentes.
Le mot choisi pour chaque ligne appartient à vous, mais doit être un mot anglais valide avec au moins 3 lettres et ne peut pas être une conjonction (comme
and
oubut
), une interjection / exclamation (commehey
ouyay
), une abréviation (commeXLS
) ou un nom (commeJon
).Bien que je doute que quiconque le trouverait plus court, je trouverais acceptable d’utiliser une phrase au lieu d’un seul mot. Donc, si pour une raison quelconque
S is for Something smells fishy...
est plus courte, foncez.Mettez la sortie de votre programme dans votre réponse, ou au moins la liste des mots que vous avez utilisés (s'il existe un lien pour exécuter votre code en ligne, nous n'avons pas besoin de voir la sortie complète).
Le code le plus court gagne
Ce défi a été inspiré par cette vidéo .
la source
Réponses:
SOGL 0.8.1 ,
6032 octetsExplication:
C'est à peu près la réponse de Jonathan Allan , mais adaptée à cette langue.
Ancienne version: (SOGL 0.8.2)
sortie:
Ce n'est pas le plus court que cette langue puisse faire, mais devrait être le meilleur avec les mots codés en dur.
la source
Bash (+ coreutils),
81,87,82, 78 octetsUtilise la page de manuel de X comme source de mots.
Golfé
EDITS
|&
pour économiser 5 octets;Tester
la source
|&
, il peut donc être récupéré.Python 2 ,
8877 octets-11 octets grâce à xnor (évitez le zip en parcourant la chaîne et en comptant
c
à partir de 65)Essayez-le en ligne!
(Un port de ma réponse de gelée, quand il était 56 octets.)
la source
x
à jour en parallèle .Unt
? Vous ne pouvez pas le trouver n'importe oùUnt
soit un mot, maisUt
vous pouvez donc remplacer len
dans votre littéral par\0
pour le rendre valide et ne faire qu'ajouter un octet de plus. Les règles de Nevermind éditer disent qu'il doit y avoir 3 lettres ... hmmmFrapper,
78, 69 octetsAardvarks, Babushkas et Kamikazes!
Golfé
EDITS
Tester
Utilise / usr / share / dict / words :
la source
PowerShell ,
15014111775 octetsEssayez-le en ligne!
Boucles de
65
à90
(ASCIIA
àZ
). À chaque itération, nous transformons l'entier en valeur appropriéechar
(c'est-à-dire, ASCII65
pourA
), sauvegardons celui-ci en$i
vue d'une utilisation ultérieure, concaténons les chaînes avecis for $i
, puis cliquetons au milieu du mot approprié. Cela se fait en indexant dans une longue chaîne (empruntée à la réponse de Jonathan Allan ). Termine avec la lettret
pour faire le mot de trois lettres.Les chaînes résultantes sont toutes laissées sur le pipeline et une
Write-Output
fin implicite les imprime avec des nouvelles lignes entre les deux.J'ai sauvé un tas d'octets grâce à la liste de mots de Rod
Borrowed de la réponse de Jonathan Allan
la source
[char]$
exempleGelée , 39 octets
TryItOnline!
Sur la base de la version 56 octets (deux ci - dessous), mais les mots a changé pour enlever toute lettre du milieu
"u"
de sorte qu'il peut indexer dans le dictionnaire de mot"anisole"
*, qui a l'avantage d'avoir les lettres que nous avons tous besoin à des index moins de six:1:a, 2:n 3:i, 4:s, 5:o (6:l), 0:e
(notez le"e"
à droite est à l'index zéro [également 7 et -7 et tout autre nombre congruent à 0 mod 7]). Il est également au début du dictionnaire, il n’a donc qu’un indice de recherche sur trois octets beaucoup plus courant ("anisogamete"
qui fonctionnerait également pour 2).* Ancien nom de l'éther aromatique méthoxybenzène, souvent utilisé dans les parfums.
Comment?
Précédent, 46
Les mots ont tous une deuxième lettre "s" ou "a" et la dernière lettre "p" ou "t" en utilisant une recherche de base quatre dans un produit cartésien de "sa" et "pt". Sauf le mot "U", que le code change en "Utiliser" (en utilisant le relativement encombrant
F”e272¦
à la fin) - si je pouvais trouver une liste de mots comme celle-ci qui ne comporte pas une telle exception, nous examinerions 39 octets .Liste de mots:
essaye celui-là
56 octets précédents
Liste de mots:
Il est formaté, essayez-le
Précédent, 83 octets
... jouons "Trouve quelle lettre n'a pas d'animal!" il
y en a un, et un seul - surveillez le hareng rouge(un mensonge, le hareng rouge était du xénon, qui est un élément, évidemment pas un animal) , sont deux mots de cinq lettres qui ne sont pas des animaux (le xénon en est un) :(bien sûr, le formatage est correct, essayez-le - je pensais juste économiser de la place)
la source
Xenon
n'est pas un animal. J'étais sûr que vous faisiez une blague en ayantH is for Herring
, mais je suppose que non.Uut
?Retina ,
8987 octets2 octets sauvés grâce à Martin Ender
Essayez-le en ligne!
J'ai choisi un mot pour chaque lettre qui se termine par
t
(certaines sont assez obscures).Explication
Remplacez l’entrée inexistante (vide) par le texte ci-dessus.
Remplacez chaque lettre majuscule par
(newline)(itself) is for (itself)
. Le texte ci-dessus est alors divisé en lignes séparées, comme... etc
Cependant, puisque la nouvelle ligne a été placée avant chaque capitale, il existe une nouvelle ligne principale qui doit être supprimée. Il est supprimé à cette étape.
Mettez un
t
à la fin de chaque ligne, car chaque mot utilisé dans la chanson se termine part
.la source
$&
ou$0
au lieu de$1
. En fait, cela pourrait également économiser des octets au-dessus de mon étape de scission.$&
exactement? Je ne l'ai pas vu sur le wiki de GitHub.$0
(et cela fait simplement partie de la saveur .NET, ainsi que de la plupart des autres saveurs).Retina ,
9288 octetsVous avez économisé 4 octets en empruntant une idée de la réponse de Business Cat .
Le nombre d'octets suppose un codage ISO 8859-1.
Essayez-le en ligne!
Basé sur la liste de mots d'AdmBorkBork , mais j'ai changé quelques mots de plus en ceux qui se terminent par
ad
économiser davantage d'octets sur le suffixe commun.Explication
Tournez l'entrée vide (inexistante) dans cette chaîne. Il contient toutes les lettres ainsi que le reste de ces mots qui ne finissent pas par
ad
.Insérez un saut de ligne devant chaque lettre majuscule, puis transformez-le en
X is for X
.Faites correspondre les lettres qui sont maintenant par elles-mêmes et ajoutez-les
ad
pour compléter les mots abrégés.Supprimez la ligne vide créée en insérant un saut de ligne auparavant
A
.la source
PHP,
122124127120115101 octetsSuit la
<letter><filler>t
structure "standard" .J'ai essayé de trouver des mots qui n'avaient jamais été utilisés auparavant.
Si vous voyez un mot que vous voulez que je remplace, dites-le moi.
La nouvelle ligne est représentée comme
\n
mais compte pour 1 octet.Sortie:
Mots étranges:
la source
vprintf
et nezend_version
sont certainement pas des mots anglais. Très peu de ces entités sont réellement des mots.zit
un mot étrange, du moins, je pense que tout le monde devrait déjà savoir ce que cela signifie.Pyke,
555148 octetsEssayez-le ici!
Le lien est pour 3 longueur et ne qualifie pas comme mots incluent conjonctives.
Les sorties:
Vous pouvez tester cela en dehors de Pyke en utilisant le même algorithme. Nécessite dictionary.json .
la source
Timeout running code. BAD EVAL
Assurez-vous de mettre à jour votre lien "Essayez-le en ligne".Z is for zoofilia
J'envisagerais sérieusement avant de laisser mes enfants chanter ceci.Japt ,
5250 octetsCollaboré avec @ETHproductions
Contient beaucoup de non imprimables. Testez-le en ligne!
La liste de mots est:
Japt utilise la bibliothèque de compression de chaîne shoco , qui réduit les octets courants des lettres minuscules. Voici une liste complète de toutes les exécutions de deux lettres condensées dans un octet:
L'idée est donc de former un mot avec une de ces paires pour chaque lettre de l'alphabet.
Une chose intéressante à noter est que, bien que Japt puisse implicitement décompresser une chaîne encapsulée dans des backticks, il s'agit en fait d'un octet plus long ici, car vous auriez à saisir deux caractères dans la chaîne décompressée, au lieu d'un.
la source
05AB1E ,
454239383736 octetsEssayez-le en ligne!
Explication
Au
pousse l'alphabet majuscule.'Æå
pousse le motscenario
.•à¡P°€kš¦zᮕ
pousse le nombre base-1036774474076746444766322426
.Sè
utilise ces chiffres pour indexerscenario
.)ø
zips ces chaînes ensemble dans la liste[An, Bi, Co, ..., Zi]
Mots utilisés:
['Ant', 'Bit', 'Cot', 'Dot', 'Eat', 'Fat', 'Got', 'Hat', 'Ist', 'Jot', 'Kit', 'Lot', 'Mat', 'Nit', 'Oat', 'Pat', 'Qat', 'Rot', 'Sit', 'Tit', 'Unt', 'Vet', 'Wet', 'Xat', 'Yet', 'Zit']
Version de 33 octets en utilisant des mots dont je ne suis pas sûr
Mots:
['Ant', 'Bat', 'Cat', 'Dat', 'Eat', 'Fat', 'Gat', 'Hat', 'Ist', 'Jat', 'Kat', 'Lat', 'Mat', 'Nat', 'Oat', 'Pat', 'Qat', 'Rat', 'Sat', 'Tat', 'Ust', 'Vat', 'Wat', 'Xat', 'Yat', 'Zat']
la source
Ruby,
93 84 69 63 5862 octetsSortie:
Tous les mots de 3 lettres finissant par 't', la plupart d’entre eux avec 'at'.
Utilisation de mots controversés (iat, dat, amp. Ump) - 55 octets:
En essayant toujours de trouver un motif, je pense qu'il est possible d'utiliser seulement 2 fins différentes et de tout simplifier.
Merci @Value Ink et @Business Cat pour votre aide.
la source
/#{l}../
kit
.///, 163 octets
Essayez-le en ligne
Hm, a appris quelque chose aujourd'hui ...
la source
05AB1E ,
7268 octetsCode:
Utilise le codage CP-1252 . Essayez-le en ligne!
Explication
Le code suivant:
pousse ce tableau:
Et est traité en utilisant le code suivant:
la source
”–³”=Apple
etint(–³,214)=23891
mais je ne vois toujours pas la corrélation ici.Clojure,
159232 octetsEh bien, maintenant c'est certainement une solution non concurrente car il serait beaucoup plus facile de coder en dur les mots utilisés. Publiez-le simplement pour avoir la bonne réponse (et ne pas utiliser la liste de mots des autres).
Fondamentalement, toutes les fonctions définies dans l’
clojure.core
espace de noms sont toujours récupérées , mais après cela l’évaluedoc <function name>
et les place dans une chaîne. Après cela, le concatène en une chaîne énorme (avec le motxyst
) et trouve les mots appropriés à partir de là. Devrait être exécuté dans Clojure REPL.Sortie:
Ancienne solution:
la source
or
, pasorb
, pour 1 octet.JavaScript (ES6), 82 octets
Une fonction anonyme renvoyant une chaîne. Contient des non imprimables; voici une version qui ne le fait pas:
Ceci utilise la technique de @ JonathanAllen, en n'utilisant que des mots de trois lettres finissant par
t
. La chaîne décompresse pourAnBiCoDoEaFaGOHuIsJoKiLoMaNiOuPaQaRoSiTiUnVeWeXaYeZi
.J'ai essayé d'enchaîner des paires de deux lettres comme suit:
J'ai maintenant fait tout ce chemin pour
X
rester bloquéY
; pour autant que je sache, le seulX
mot accessible de trois lettres estXis
, et il n'y a pas de mot de trois lettres commençant parYs
.Pour mémoire, la chaîne complète était
ceeeweeereueaebiueeiziais
...la source
uzi
ettiz
...sei
,ski
ousri
, ce qui vous laisse avecree
,roe
,rue
,rye
qui vous laisse avec ... la seule trois lettresq
-mots je peux trouver sontqat
,qis
etqua
. Y a-t-il une page Wiktionnaire avec plus de mots de trois lettres?p
mot qui finit paru
.)piu
, donc ce n'est pas un problème du tout: P Merci!piu
semble assez limite - wiktionary ne l’a pas en anglais, et dictionary.com l’a aussipiù
(ne sais pas comment nous envisageons les accents pour ce défi). Mais oui, ceys_
serait un problème.Mathematica, 97 octets
Recherche dans Mathematica
WordList
le troisième mot commençant par chaque lettre; cela évite les mots d'une lettre et les interjections. A une nouvelle ligne de piste.la source
Groovy,
7673 octets(édité de 76 à 73 octets, merci chat)
Inspiré par la solution de rubis:
nous utilisons
any
au lieu de chacun car il est plus court et toutes les instructions println renvoient false. Pour les cas particuliers de la chaîne, nous utilisons String.find qui, dans groovy, renvoie la correspondance ou null. Sur null, nous utilisons l'opérateur elvis?:
pour renvoyer un mot se terminant parat
.Imprime:
Groovy, récursivité, 74 octets
imprime le texte de la première réponse puis lève une exception PatternFormatException. Nous appelons la fermeture récursivement en commençant par 'A' et en augmentant
++char
jusqu'à ce que le caractère suivantZ
lève l'erreur.Groovy, en trompant, 77 octets
Avec le risque d'être lynché:
C'est-à-dire, lisez les données de cette page et imprimez la définition d'une réponse valide au début. Pour ma défense ... il imprime la réponse demandée ... maintenant personne ne modifie la page ...
Groovy, utilisation de 'times', 81 octets
Construire sur la réponse en python avec le motif de mot à trois lettres:
impressions:
Groovy, en récursant sur main (...), 83 octets
En supposant que nous comptions les nouvelles lignes comme un seul caractère.
imprime le texte de la première réponse puis lève une exception PatternSyntaxException.
Groovy, using eachWithIndex, 88 octets
Groovy, en utilisant transpose, 102 octets
la source
kit
.05AB1E , 77 octets
Essayez-le en ligne!
Utilise la chaîne suivante compressée:
ASSBINCATDOTEATFATGOTHATILLJOTKITLOTMETNOTOATPATQUEROTSETTITUSEVATWETXISYIPZAP
Converti en base 214:
A utilisé une liste de mots au scrabble de 3 lettres: http://wordfinder.yourdictionary.com/letter-words/3
La sortie est la suivante:
Avait une version de 70 octets, mais les mots de 2 lettres ne sont pas autorisés.
A expliqué:
la source
qui
n'est pas un mot anglais. En regardant cela ne révèle qu'un mot latin.Que
je savais qu'il y avait un mot légal de scrabble à 3 lettres, il est mal orthographié.}»
pourraient être remplacés par,
.SmileBASIC,
1311138281 octetsMaintenant, en utilisant des mots qui dans
t
la source
Lithp ,
136125117 octets(Split pour la lisibilité)
Essayez-le en ligne!
C’est quasiment un portage de la réponse Python
each
l'index de(scope #)
Sortie:
la source
Lot, 250 octets
Comme je n'allais jamais obtenir un score décent, j'ai choisi les mots humoristiques les plus courts possibles:
la source
empilés , 72 octets
Il y en a deux pour 72 octets!
Essayez-le en ligne! En utilisant ce modèle génial. (Avant de vous demander,
++
serait un simple jeton, donc+ +
est utilisé à la place.)Ils travaillent tous deux par itérer de
65
la90
et d' obtenir la séquence de caractères correcte. Remarques:#:
est un alias pourchr
#
est un alias pourget
{!...}
est le même que{ n : ... }
(lambda avecn
comme paramètre)Pour 73 octets:
la source
Mathematica 93 octets
les rendements
la source
Groovy, 72 octets
Sortie
la source
Python 3,
145137135 octetsJ'ai sacrifié quelques octets pour pseudo-randomiser la sortie à chaque exécution. L'idée est de rechercher des mots minuscules d'au moins 3 caractères
/usr/share/dict/words
, puis d'en choisir un dans cette liste à l'aide deid([x])%99
.Édite
title()
car les mots ne doivent pas nécessairement être mis en majuscule."\n(%c.{3,})"
(+ 3 octets) pour permettre la suppression de,re.M
(- 5 octets).Exemple de sortie:
la source
Qohele
, mais une recherche révèle qu'il s'agit d'un livre ou d'un volume de texte sacré.GNU sed, 81 + 1 (indicateur r) = 82 octets
Ceci est une implémentation sérieuse de la liste de mots de la réponse de Jonathan Allan .
Les mots, à l'exception de la lettre de fin partagée
t
, sont donnés sous forme concaténée à la ligne 1, puis imprimés dans le format demandé par la ligne 2. Une nouvelle ligne est présente.Courir :
la source
Java 7,
124121 octetsBasé sur la réponse de @JonathanAllen , Java ne disposant pas de dictionnaire intégré sophistiqué. ;) J'ai essayé de trouver une autre lettre de fin pour tout l'alphabet (comme
s
oun
ouy
), ou une lettre du milieu (commea
oue
), mais la plupart manquaient d'un ou deux mots. J'ai donc fini par utilisert
. Les mots sont choisis manuellement parmi wordhippo.com .Ungolfed:
Essayez ici.
Sortie:
la source
+a+++
. J'aime écrire celles-ci: PPHP,
91878676 octetsBasé sur la liste de mots de Jonathan Allan :
anciennes versions, 86 octets:
ou
Courez avec
-nr
.sortie
Pour les mots étranges, voir la réponse d’Ismael
la source