Створіть пісню алфавіту


55

Ваша мета - створити пісню алфавіту як текст у такій формі (по порядку):

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>

Приклад виводу:

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

Правила:

  • У кожної «літери» пісні є своя лінія, тому є 26 рядків і можливий зворотний рядок.

  • Вихід залежить від регістру:

    • Буква на початку кожного рядка повинна бути написана з великої літери.
    • is for це малі літери.
    • Вибране слово не потрібно писати з великої літери, але може бути. Усі рядки повинні відповідати.
  • Вибране слово для кожного рядка залежить від вас, але воно повинно бути дійсним англійським словом, що має принаймні 3 букви, і воно не може бути сполучником (як-от andабо but), запереченням / вигуком (як-от heyабо yay), абревіатурою (подобається XLS) або назва (подобається Jon).

  • Хоча я сумніваюся, що хтось вважає його коротшим, я вважаю прийнятним використовувати фразу замість одного слова. Тож якщо з якихось причин S is for Something smells fishy...коротше, займіться цим.

  • Введіть у відповідь результати своєї програми або, принаймні, список використаних вами слів (якщо є посилання для запуску вашого коду в Інтернеті, нам не потрібно бачити весь результат).

  • Найкоротший код виграє


Цей виклик надихнув це відео .


Я здогадуюсь, що сленг заборонений, навіть якщо він вказаний у власних словниках? (наприклад, "Коли вона зрозуміла, що знову прямує у глибинку, вона просто потягнула на себе !")
Джонатан Аллан

1
З огляду на деякі відповіді, ця пісня Barenaked Ladies здається актуальною.
AdmBorkBork

1
@JonathanAllan Немає сленгу. Словники містять багато речей, які технічно не є словами. Скорочення - одне, сленг - інше.
mbomb007

4
Це дуже погано, що це перетворилося на пошук 3-х літерних слів, які закінчуються тією ж буквою.
12Me21

1
Є пара відповідей за допомогою зовнішнього словника. Чи не повинні їм додати розмір цього файлу до свого коду?
труба

Відповіді:


3

SOGL 0.8.1 , 60 32 байти

χ3½⌠↓-ζ⁄∞Nη6′⁵‘Z{t",t5~r‘ooKo to

Пояснення:

χ3½⌠↓-ζ⁄∞Nη6′⁵‘                   push "niooaaoasoioaiaaaoiineeaei"
               Z{                 for each letter of the uppercase alphabet
                 t                output the letter in a newline (and disable implicit output)
                  ",t5~r‘o        append " is for "
                          o       append the letter
                           Ko     append the 1st letter of the 1st string (the 2nd letters) and remove it
                              to  append "t"

Це в значній мірі відповідь Джонатана Аллана , але перенесена на цю мову.

Стара версія: (SOGL 0.8.2)

Z"sηΒ…@Ν┘$JP6*š∙╬F▓÷Σ⁷4⌠    ⁹{Tīο⁾α⅝½Χ<▼½Ξμ‚‘θ’»∫wGKO",t5~r‘P≥o


Z                                                             push the uppercase alphabet
 "sηΒ…@Ν┘$JP6*š∙╬F▓÷Σ⁷4⌠    ⁹{Tīο⁾α⅝½Χ<▼½Ξμ‚‘                  push the 27 words separated by spaces using the languages english compression (BCD...XYZA)
                                          θ                   split on spaces
                                           ’»∫                repeat 27 times (push 0-based pointer)
                                              w               get the 1-indexed item of the array (so 0 = last, 1 = first, 2 = 2nd,...)
                                               G              put the 1st thing on stack ontop (the alphabet)
                                                K             get the 1st letter and remove it
                                                 O            output it
                                                  ",t5~r‘     push compressed " is for "
                                                         P    append that (and disable last auto-output)
                                                          ≥   put the 1st thing on the stack below everything
                                                           o  append the last thing (the word from the word list)

вихід:

A is for against
B is for being
C is for could
D is for down
E is for even
F is for first
G is for good
H is for had
I is for into
J is for just
K is for know
L is for little
M is for much
N is for nothing
O is for other
P is for project
Q is for quite
R is for right
S is for said
T is for their
U is for under
V is for very
W is for with
X is for xavier
Y is for you
Z is for zoo

Це не найкоротший термін, який може зробити ця мова, але він повинен бути найкращим зі словами, жорстко закодованими.


57

Bash (+ coreutils), 81, 87, 82, 78 байт

Використовує сторінку man для X як джерело слів.

Гольф

man xyst\  x|&grep -Po '\b[a-z]{4,} '|sed 's/\(.\)/\u\1 is for &/'|sort -uk1,1

РЕДАКТИ

  • Використовується неіснуюча сторінка "xyst" + |&для збереження 5 байт;
  • Збережено ще 4 байти, замінивши sed і сортуючи .

Тест

%man xyst\  x|&grep -Po '\b[a-z]{4,} '|sed 's/\(.\)/\u\1 is for &/'|sort -uk1,1

A is for also 
B is for build 
C is for computing 
D is for distribution 
E is for entry 
F is for following 
G is for graphics 
H is for hierarchical 
I is for implementations 
J is for just 
K is for keyboard 
L is for listing 
M is for manual 
N is for network 
O is for output 
P is for programs 
Q is for quite 
R is for runs 
S is for system 
T is for transparent 
U is for used 
V is for various 
W is for window 
X is for xyst 
Y is for your 
Z is for zeros 

3
Чи є слова lsof та xregs? :)
OldBunny2800

1
@ OldBunny2800 слід виправити зараз
zeppelin

2
Я подивився, і так, ксист - це справжнє слово. :)
OldBunny2800

3
Схоже на те, що діти будуть вчити деякі великі слова. : D
mbomb007

1
@JonathanAllan На жаль, сторінка man для "x" недоступна в TIO, але ось посилання tio.run/nexus/… , яке замість цього використовує "man man". Хитрість із xyst полягає в тому, що man xyst поскаржиться на те, що в "stderr" немає ручного запису для xyst, який потім об'єднується в stdout |&, щоб він міг бути схопленим.
зеппелін

33

Python 2 , 88 77 байт

-11 байт завдяки xnor (уникайте блискавки, переходячи рядок і рахуючи cвід 65)

c=65
for x in'niooaauusoioaiuaaoiineeaei':print'%c is for %c%st'%(c,c,x);c+=1

Спробуйте в Інтернеті!

(Порт моєї відповіді Jelly, коли це було 56 байт.)

A is for Ant
B is for Bit
C is for Cot
D is for Dot
E is for Eat
F is for Fat
G is for Gut
H is for Hut
I is for Ist
J is for Jot
K is for Kit
L is for Lot
M is for Mat
N is for Nit
O is for Out
P is for Pat
Q is for Qat
R is for Rot
S is for Sit
T is for Tit
U is for Unt
V is for Vet
W is for Wet
X is for Xat
Y is for Yet
Z is for Zit

4
Мені подобається метод слів, які закінчуються на т. Ітерацію можна скоротити, паралельно оновлюючиx .
xnor

Дуже розумний, як ніколи; Дякую!
Джонатан Аллан

1
Що Unt? Неможливо знайти його ніде
Альберт Реншо

Я не думаю Unt, що це слово, але Utце так, що ви можете замінити їх nу прямому значенні, \0щоб зробити це дійсним і лише додати ще один байт. Редагувати правила ніколи не говорять про те, що це має бути три літери ... хммм
Альберт Реншо

4
@AlbertRenshaw Unt - європейський моль згідно Мерріам-Вебстер . За словами Вікісловника, альтернативою буде ult, це не просто абревіатура (яку перераховують періоди, такі як ult. )
Джонатан Аллан

31

Bash, 78, 69 байт

Aardvarks, Babushkas і Kamikazes!

Гольф

sed -nr '/^[a-z]{9}$/s/(.)/\u\1 is for &/p'</u*/*/*/words|sort -uk1,1

РЕДАКТИ

  • Позбувся грепу, -9 байт

Тест

%sed -nr '/^[a-z]{9}$/s/(.)/\u\1 is for &/p'</u*/*/*/words|sort -uk1,1

A is for aardvarks
B is for babushkas
C is for cablecast
D is for dachshund
E is for eagerness
F is for fabricate
G is for gabardine
H is for habitable
I is for ibuprofen
J is for jabberers
K is for kamikazes
L is for labelling
M is for macaronis
N is for nailbrush
O is for obedience
P is for pacemaker
Q is for quadrants
R is for rabbinate
S is for sabotaged
T is for tableland
U is for ulcerated
V is for vacancies
W is for wackiness
X is for xylophone
Y is for yachtsman
Z is for zealously

Використовує / usr / share / dict / words :

слова - це стандартний файл у всіх Unix та Unix-подібних операційних системах і є просто новим рядком із словника. Він використовується, наприклад, програмами перевірки орфографії.


14

PowerShell , 150 141 117 75 байт

65..90|%{$i=[char]$_;"$i is for $i$('niooaauusoioaiuaaoiineeaei'[$_-65])t"}

Спробуйте в Інтернеті!

Петлі від 65до 90(тобто, ASCII Aдо Z). Кожну ітерацію ми перетворюємо на ціле число у відповідне char(тобто, ASCII 65для A), зберігаємо це $iдля використання пізніше, з'єднує рядок у рядок із is for $i, а потім торкаємося до середини відповідного слова. Це робиться шляхом індексації у довгий рядок (запозичено у відповіді Джонатана Аллана ). Закінчується буквою, tщоб скласти слово з трьох літер.

Усі отримані рядки залишаються на конвеєрі, а неявна Write-Outputв кінці друкує їх новими рядками між ними.

Зберегли купу байтів завдяки списку слів Рода
запозиченого з відповіді Джонатана Аллана


Ви можете видалити першу букву кожного слова (столиця одного) і друку з [char]$ прикладу
Стрижень

@Rod Дякую Я поєднав це з тим, над чим я тільки працював, щоб змінити, як обчислюється цикл, і як обчислюється індексація, і ще деякий час зберігається.
AdmBorkBork

13

Желе , 39 байт

;“ẉbẊWS»,⁸K;;”t
“¤ṁp}œḊṄæ®’b6ị“ʠȷ»ØAç"Y

СпробуйтеItOnline!

На основі 56-байтної версії (дві нижче), але змінені слова видалити всі середні літери "u"s, щоб воно могло індексувати в словниковому слові "anisole"*, що має зручність мати потрібні нам літери в індексах менше шести: 1:a, 2:n 3:i, 4:s, 5:o (6:l), 0:e(зверніть увагу на "e"праворуч - в індексі нуль [також 7 і -7 та будь-яке інше число, що відповідає 0 мод 7]). Це також рано в словнику, тому є лише два, а не набагато більш поширений трибайтовий індекс пошуку ( "anisogamete"також буде працювати для 2).

* Стара назва школи для ароматичного ефіру метоксибензолу, часто використовується в парфумерії.

A is for Ant
B is for Bit
C is for Cot
D is for Dot
E is for Eat
F is for Fat
G is for Got
H is for Hat
I is for Ist
J is for Jot
K is for Kit
L is for Lot
M is for Mat
N is for Nit
O is for Oat
P is for Pat
Q is for Qat
R is for Rot
S is for Sit
T is for Tit
U is for Unt
V is for Vet
W is for Wet
X is for Xat
Y is for Yet
Z is for Zit

Як?

“¤ṁp}œḊṄæ®’b6ị“ʠȷ»ØAç"Y - Main link: no arguments
“¤ṁp}œḊṄæ®’             - base 250 compressed number -> 75711304811637630759
           b6           - convert to base 6 list -----------> [   2,    3,    5,    5,    1,    1,    5,    1,    4,    5,    3,    5,    1,    3,    1,    1,    1,    5,    3,    3,    2,    0,    0,    1,    0,    3]
              “ʠȷ»      -     word from Jelly's dictionary, "anisole" 
             ị          - index into that ------------------> [ "n" , "i" , "o" , "o" , "a" , "a" , "o" , "a" , "s" , "o" , "i" , "o" , "a" , "i" , "a" , "a" , "a" , "o" , "i" , "i" , "n" , "e" , "e" , "a" , "e" , "i"]
                  ØA    - get the uppercase alphabet
                    ç"  - zip with last link (1) as a dyad -> ["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"]
                      Y - join with line feeds
                        - implicit print

;“ẉbẊWS»,⁸K;;”t - Link 1, join up the parts: Character, Two-Character-Word-Ending
;               - concatenate Character (e.g. "A") with
 “ẉbẊWS»        - the compressed string " is for" --->  "A is for"
        ,       - pair that with
         ⁸      - the left argument (Character) -----> ["A is for","A"]
          K     - join with spaces ------------------>  "A is for A"
           ;    - concatenate with right argument --->  "A is for An"
            ;   - concatenate with
             ”t -     "t" --------------------------->  "A is for Ant"

Попередній, 46

“¤ṪŻIð^ƥ’b4ị⁾sap⁾pt¤ØAż,@K¥€“ẉbẊWS»ØAżYF”e272¦

Усі слова мають другу літеру "s" або "a" і останню букву "p" або "t", використовуючи чотири пошуки основи в декартовому добутку "sa" і "pt". За винятком слова "U", яке в коді змінюється на "Використовувати" (використовуючи відносно громіздкий F”e272¦на кінці) - якби я міг знайти такий список слів, у якого немає такого винятку, ми б розглядали 39 байт .

Список слів:

Asp, Bat, Cat, Dap, Eat, Fat, Gap, Hat, Ist, Jat, Kat, Lap, Mat, Nap, Oat, Pat, Qat, Rat, Sat, Tap, Use, Vat, Wat, Xat, Yap, Zap

спробуйте це


Попередні 56 байт

”tṁØA⁺,j“niooaauusoioaiuaaoiineeaei”œs3Z,@K¥€“ẉbẊWS»ØAżY

Список слів:

Ant, Bit, Cot, Dot, Eat, Fat, Gut, Hut, Ist, Jot, Kit, Lot, Mat, Nit, Out, Pat, Qat, Rot, Sit, Tit, Unt, Vet, Wet, Xat, Yet, Zit

Він відформатований, дайте йому піти


Попередній, 83 байти

“ẉbẊWS»WṁØA⁺żż“¦ịfe$ɲVPġþ¹Øt@ƑƊŀqṁŒƑOɦ⁴ḍẊḤṁr}Ƭ¢b⁻?q&øIụNẎ9eƲi⁸'ıB.;%V,¦İ⁷ẓk½»s5¤K€Y

... давайте пограємо "Пляма, на якій літері немає тварини!" там є один, і тільки один - стежити за червону оселедець (брехня, червона оселедець була ксеноном, який є елементом, очевидно , не тварини) , два п'ять букв слова тут не тварини (ксенону є одним) :

Aphid, Bison, Camel, Dingo, Eagle, Finch, Gecko, Heron, Indri, Jabot, Koala, Lemur, Mouse, Nyala, Otter, Panda, Quail, Raven, Sloth, Tapir, Urial, Viper, Whale, Xenon, Yapok, Zebra

(звичайно, це відформатовано правильно, спробуйте - я просто подумав, що заощаджую місце)


Xenonне тварина. Я був впевнений, що ти жартуєш H is for Herring, але, мабуть, ні.
mbomb007

Хе, це була брехня. Ксенон був очевидним :)
Джонатан Аллан

Я думаю, що вони думають про ксеноп , чого немає в словнику Джеллі.
Джонатан Аллан

Чудова ідея! Але Uut?
Грег Мартін

@GregMartin Я погоджуюсь, я думаю, ви почали переводити ваші слова в конспекти.
Чарівний восьминога Урна

10

Сітківка , 89 87 байт

Збережено 2 байти завдяки Мартіну Ендеру


ApBaCaDoEaFaGeHaIkaJeKiLeMeNeOpPeQaRaSaTiUniVaWeXysYurZi
[A-Z]
¶$& is for $&
^¶

m`$
t

Спробуйте в Інтернеті!

Я вибрав слово для кожної літери, яка закінчується t(деякі досить незрозумілі).

Пояснення


ApBaCaDoEaFaGeHaIkaJeKiLeMeNeOpPeQaRaSaTiUniVaWeXysYurZi

Замініть неіснуючий (порожній) введення текстом вище.

[A-Z]
¶$& is for $&

Замініть кожну велику літеру на (newline)(itself) is for (itself). Це призводить до того, що текст вище розбивається на окремі рядки

A is for Ap
B is for Ba
C is for Ca

... і так далі

^¶
​

Однак, оскільки новий рядок був розміщений перед кожною столицею, існує новий провідний рядок, який потрібно видалити. Він видаляється на цій стадії.

m`$
t

Поставте а tв кінці кожного рядка, оскільки кожне слово, яке використовується в пісні, закінчується на t.


Не потрібно фіксувати великі літери. Просто використовуйте $&або $0замість цього $1. Насправді це також може заощадити байти на моєму розділеному етапі.
Мартін Ендер

@MartinEnder Дякую Що $&саме робить ? Я не бачив його на вікі GitHub.
Ділова кішка

Це псевдонім для $0(і це лише частина аромату .NET, як і більшості інших ароматів).
Мартін Ендер

Використовуючи кілька коротших слів, щоб зменшити їх до 83, спробуйте в Інтернеті
Джонатан Аллан

8

Сітківка , 92 88 байт

Збережено 4 байти, запозичивши ідею з відповіді Business Cat .

Кількість байтів передбачає кодування ISO 8859-1.


AddBCDEelFGHItsJetKitLMNetOilPQatRSTUrnVatWXisYesZit
[A-Z]
¶$& is for $&
m` .$
$&ad
G`.

Спробуйте в Інтернеті!

На основі списку слів AdmBorkBork , але я змінив ще кілька слів на ті, які закінчуються, adщоб зберегти більше байтів на загальному суфіксі.

Пояснення


AddBCDEelFGHItsJetKitLMNetOilPQatRSTUrnVatWXisYesZit

Поверніть порожній (неіснуючий) вхід у цей рядок. Він містить усі літери, а також решту тих слів, які не закінчуються ad.

[A-Z]
¶$& is for $&

Вставте подачу рядків перед кожною великою літерою та перетворіть її X is for X.

m` .$
$&ad

Зіставте букви, які тепер самі по собі, і додайте adдо завершення скорочених слів.

G`.

Відмовтеся від порожнього рядка, який було створено, вставивши подачу рядка раніше A.


8

PHP, 122 124 127 120 115 101 байт

Дотримується "стандартної" <letter><filler>tструктури.
Я намагався придумати слова, які раніше ніхто не використовував.
Якщо ви бачите слово, яке ви хочете, щоб я його заміни, скажіть мені.

foreach(range(A,Z)as$k=>$c)echo"$c is for $c",ceaoaaei0eieeouoaaei0eeaei[$k]?:[I=>ka,U=>ni][$c],"t\n";

Новий рядок представлений як, \nале рахується як 1 байт.


Вихід:

A is for Act
B is for Bet
C is for Cat
D is for Dot
E is for Eat
F is for Fat
G is for Get
H is for Hit
I is for Ikat
J is for Jet
K is for Kit
L is for Let
M is for Met
N is for Not
O is for Out
P is for Pot
Q is for Qat
R is for Rat
S is for Set
T is for Tit
U is for Unit
V is for Vet
W is for Wet
X is for Xat
Y is for Yet
Z is for Zit

Дивні слова:

  • ikat :

    Ікат, або іккат, - це техніка фарбування, яка використовується для малювання текстилю, яка використовує опір фарбування на пряжах перед фарбуванням та плетінням тканини.

  • xat :

    Різьблений стовп, споруджений як пам'ятник загиблим деякими індіанцями західної Північної Америки

  • zit :

    прищ; шкірні пороки.

  • qat :

    Catha edulis (хат, кат) - квітуча рослина, що родом з Африканського Рогу та Аравійського півострова.


Розумне рішення Я збирався зробити щось подібне, радий це бачити! +1
Альберт Реншо

1
Це не англійські слова ....
Conor O'Brien

@ ConorO'Brien Ви впевнені? Наскільки я знаю, PHP написаний англійською мовою.
Ісмаїл Мігель

5
@IsmaelMiguel такі речі, як vprintfі zend_version, звичайно, не англійські слова. Дуже мало цих сутностей - це насправді слова.
Conor O'Brien

1
zitПринаймні, я б не назвав дивне слово, я думаю, кожен повинен уже знати, що це означає.
mbomb007

6

Пайк, 55 51 48 байт

26.f[1R].C".d"R+E)DGjt@.^.Il 6>( F['h .dRdJl5

Спробуйте тут!

Посилання має тривалість і не кваліфікується, оскільки слова включають сполучники.

    [1R].C".d"R+E)                            - def function [i):
     1R]                                      -     [1, i]
        .C                                    -    chr(^)
          ".d"R+                              -   ".d"+ ^
                E                             -  eval(^) (dictionary lookup of length 1)
                                              -    gets the `i`th word in the dictionary

26.f[             DGjt@.^.Il 6>(              -  first_26():
    [                                         -     function(i)
                       .^                     -    ^.startswith(v)
                   Gjt@                       -     alphabet[current_iter-1]
                         .Il 6>               -   if ^:
                           l 6>               -    len(function(i)) > 6
                                 F['h .dRdJl5 - for i in ^:
                                  ['h         -     function(i)[0], function(i)
                                      .d      -    "is for" (unprintables 0x02, 0x07, 0x06)
                                        R     -    rotate(^, ^^)
                                         dJ   -   " ".join(^)
                                           l5 -  ^.capitalize()

Виходи:

A is for available
B is for because
C is for community
D is for download
E is for english
F is for features
G is for getting
H is for hardware
I is for increase
J is for jewelry
K is for kitchen
L is for locations
M is for manufacturer
N is for northern
O is for outdoor
P is for protein
Q is for quickly
R is for religion
S is for surgery
T is for thousands
U is for universal
V is for vehicles
W is for weekend
X is for xenical
Y is for youngest
Z is for zoofilia

Ви можете перевірити це за межами Pyke, використовуючи той самий алгоритм. Потрібен словник.json .

import json, string

with open("dictionary.json") as f_obj:
    words=json.load(f_obj)

rtn=[]
i=0
while len(rtn) != 26:
    cur_word=words[i]
    if cur_word[0]==string.lowercase[len(rtn)]:
        if len(cur_word) > 6:
            rtn.append(cur_word)
    i += 1

for i in rtn:
    print("{} is for {}".format(i[0].upper(), i))

Ні. Також я отримую помилку під час запуску вашого коду.
mbomb007

Timeout running code. BAD EVALОбов’язково оновіть посилання "Спробуйте онлайн".
mbomb007

2
Z is for zoofiliaЯ серйозно подумав би, перш ніж дозволити своїм дітям співати це.
zeppelin


Для тих, хто робить подвійний процес, як я: англійська мова не завжди складається з великої літери. ;)
DLosc

6

Japt , 52 50 байт

Співпраця з @ETHproductions

;B£[R`  f `Od"¥¥º"gY]qXÃx

Містить багато недрукованих матеріалів. Перевірте це в Інтернеті!

Список слів:

All Bar Can Dan Ear Fan Gas Has Ill Jar Kit Led Man Nit Oar Pan Qat Rat Sat Tan Udo Vat War Xis Yes Zit

Japt використовує бібліотеку стиснення рядків shoco , яка зменшує загальні пробіри малих літер в байт. Ось повний список усіх двобуквенних запусків, які зведені в один байт:

an,ar,as,at,be,bl,bo,bu,ca,ce,ch,co,da,de,di,do,ed,en,er,es,ha,he,hi,ho,im,in,is,it,le,li,ll,ly,ma,me,mi,mo,nd,ne,ng,nt,of,on,or,ou,ra,re,ri,ro,se,sh,si,st,te,th,ti,to,ul,ur,us,ut,wa,we,wh,wi

Тож ідея полягає у формуванні слова з однією з цих пар для кожної літери алфавіту.

;B£   [R`  f `    Od"string"gY]qXÃ x
;BmXY{[R" is for "Od"string"gY]qX} x

;                                      // Among other things, set B to "ABC...XYZ".
 B                                     // Split B into chars.
    mXY{                           }   // Map each item X and index Y to the following:
                      "string"gY       //   Take the char at index Y in the compressed str.
                    Od                 //   Decompress.
        [R" is for "            ]      //   Put this in an array with a newline and " is for ".
                                 qX    //   Join on X, giving "\n{X} is for {word}".
                                    x  // Trim. This removes the leading newline.
                                       // Implicit: output result of last expression

Одне цікаве, що слід зазначити, що хоча Japt може неявно декомпресувати рядок, загорнутий у бекстейк, тут насправді байт довше, тому що вам доведеться схопити два символи в декомпресованій рядку, а не одну.


6

05AB1E , 45 42 39 38 37 36 байт

Au'Æå•à¡P°€kš¦zᮕSè)øvy¬“ÿ€ˆ€‡ ÿt“,

Спробуйте в Інтернеті!

Пояснення

Auвисуває великі букви.
'Æåштовхає слово scenario.
•à¡P°€kš¦zᮕвисуває номер основи-10 36774474076746444766322426.
використовує ці цифри для індексації scenario.
з’єднує ці рядки разом у список[An, Bi, Co, ..., Zi]

v                  # for each element in the list
 y                 # push it
  ¬                # push it's first letter
   “ÿ€ˆ€‡ ÿt“      # push the string "ÿ is for ÿt" 
                   # replacing ÿ with with the top element of the stack
             ,     # print with newline

Використовувані слова: ['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']

33-байтна версія, використовуючи деякі слова, в яких я не впевнений

Au'†Ž•4Ãðzòç•3BSè)øvy¬“ÿ€ˆ€‡ ÿt“,

Слова: ['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']


6

Рубі, 93 84 69 63 58 62 байт

?A.upto(?Z){|l|puts l+" is for #{"AnDoIsUn"[/#{l}./]||l+?a}t"}

Вихід:

A is for Ant
B is for Bat
C is for Cat
D is for Dot
E is for Eat
F is for Fat
G is for Gat
H is for Hat
I is for Ist
J is for Jat
K is for Kat
L is for Lat
M is for Mat
N is for Nat
O is for Oat
P is for Pat
Q is for Qat
R is for Rat
S is for Sat
T is for Tat
U is for Unt
V is for Vat
W is for Wat
X is for Xat
Y is for Yat
Z is for Zat

Усі 3-літерні слова, що закінчуються на 't', більшість з них на 'at'.

Використання суперечливих слів (iat, dat, amp. Ump) - 55 байт:

?A.upto(?Z){|l|puts l+" is for "+l+("AU"[l]?"mp":"at")}

Ще намагаючись знайти шаблон, я думаю, що можна використовувати лише 2 різні закінчення та спростити все.

Дякуємо @Value Ink та коту @Business за допомогу.


1
Qat і Xis (множина Xi ) - це слова, тож ви можете їх використовувати, а також зменшити регекс для пошуку до/#{l}../
Значення чорнила

Дякую, я думав про щось подібне, але зараз я далеко від свого ПК, я обов'язково це перевірю.
ГБ

Насправді я намагався знайти кілька прописних слів для пропущених літер: масив, есе, інкрустація ... Але я застряг у цьому. :-(
GB

1
Кат - дійсне слово, тому ви можете видалити спеціальний регістр для kit.
Ділова кішка

1
Я подумав про "дат" і "зат", але вони обидва однакового сполучника (того) і сленгу, обидва типи слів мають заборонений характер. "amp" і "ump", здається, є абревіатурами "ampere" / "amplify" і "ampire". "IAT" - це абревіатура, тому це теж не добре.
Джонатан Аллан

6

///, 163 байт

/2/ad//1/ is for /A1Add
B1B2
C1C2
D1D2
E1Eat
F1F2
G1Goo
H1H2
I1Irk
J1Job
K1Kob
L1L2
M1M2
N1Nob
O1Owl
P1P2
Q1Qat
R1R2
S1S2
T1T2
U1Use
V1Vat
W1W2
X1X-ray
Y1Yob
Z1Zoo

Спробуйте в Інтернеті

Йоб - н. - Жорстокий і жорстокий товариш

Гм, сьогодні щось дізнався ...


2
У Великобританії йоб - хата, злодій чи хам; Більш розкутий і жорстокий, ніж жорстокий і жорстокий.
Джонатан Аллан

1
Російською "Yob" - це скорочена минула форма нецензурного дієслова, яка, в основному, є еквівалентом "f * ck" в англійській мові. Тим більше, що ти знаєш ...
Містер Scapegrace

5

05AB1E , 72 68 байт

Код:

”–³æéÁéî¹àæÑå꧵™Ä‚æ†Í„΢׆™ƒÛÌ´ŸÄ«©‡¯†‚IJ‚Ò„©É€ŠÛì„”#vy¬…ÿ€ˆ€‡ð«ì,

Використовує CP-1252 кодування . Спробуйте в Інтернеті!

Пояснення

Наступний код:

”–³æéÁéî¹àæÑå꧵™Ä‚æ†Í„΢׆™ƒÛÌ´ŸÄ«©‡¯†‚IJ‚Ò„©É€ŠÛì„”#

висуває цей масив:

['Apple', 'Banana', 'Carol', 'Door', 'Elephant', 'Frog', 'Goat', 'Hat', 'Ice', 'January', 'Key', 'Love', 'Mom', 'Never', 'Open', 'Paste', 'Queen', 'Rice', 'Star', 'Test', 'Underwear', 'Very', 'Water', 'Xanax', 'Yellow', 'Zoloft']

І обробляється за допомогою наступного коду:

vy¬…ÿ€ˆ€‡ð«ì,

vy              # For each string in the array
  ¬             # Get the first letter of that string
   …ÿ€ˆ€‡       # Push the string "ÿ is for" where 'ÿ' is the first letter of the string
         ð«     # Append a space character
           ì    # Prepend this string to the current string from the array
            ,   # Print with a newline

Чи можете ви пояснити, чому це підштовхує цей масив?
Чарівний восьминога Урна

Я думаю, що 05AB1E має вбудовані слова, які можуть бути представлені двома байтами в рядку.
12Me21

@ 12Me21 це здорово! ”–³”=Appleі , int(–³,214)=23891але я до сих пір не бачу кореляції тут.
Чарівний восьминога Урна

Я вважаю, що це список: github.com/Adriandmen/05AB1E/blob/master/dictionary.py
12Me21

2
@carusocomputing Ось більш детальний опис роботи компресії та декомпресії.
Аднан

5

Clojure, 159 232 байт

Ну, тепер це, безумовно, неконкурентне рішення, оскільки було б набагато простіше жорсткий код використаних слів. Поставити його там просто заради правильної відповіді (а не використання списку слів інших).

(mapv #(println(str(char %)" is for"(first(re-seq(re-pattern(str" "(char(+ % 32))"+\\w{3,} "))
    (reduce(fn[a b](str a(with-out-str(load-string(str "(doc "b")")))))" xyst "(map str(keys(ns-publics 'clojure.core))))))))(range 65 91))

В основному все ще отримує всі функції, визначені в clojure.coreпросторі імен, але після цього оцінює doc <function name>і ставить їх у рядок. Після цього з'єднайте його в один величезний рядок (зі словом xyst) і знайде звідти відповідні слова. Слід запускати в Clojure REPL.

Вихід:

A is for arbitrary
B is for being
C is for changes
D is for determined
E is for exception
F is for failed
G is for given
H is for held
I is for items
J is for java
K is for keys
L is for lazy
M is for must
N is for notified
O is for option
P is for performed
Q is for queued
R is for returns
S is for state
T is for true
U is for uses
V is for validator
W is for were
X is for xyst
Y is for yields
Z is for zero

Старе рішення:

(mapv #(println(str(char %)" is for "(some(fn[a](and(=(.charAt a 0)(char(+ % 32)))a))(conj(map str(keys(ns-publics 'clojure.core)))"orb""yes"))))(range 65 91))

or, ні orb, за 1 байт.
wizzwizz4

1
Мінімальна довжина - 3 букви
12Me21

@ mbomb007 оновлено.
Скеля

4

JavaScript (ES6), 82 байти

_=>btoa`pb
è¡Záî"Âh*"è1£b:ãÚA¤hJ$âRu^YåÚaæb`.replace(/(.)./g,`$1 is for $&t
`)

Анонімна функція, що повертає рядок. Містить недруковані товари; ось версія, яка не:

_=>btoa`\x02pb
\x80è\x11¡Z\x18áî"Âh*"è1£b:ãÚA¤hJ$âRu^YåÚaæb`.replace(/(.)./g,`$1 is for $&t
`)

Тут використовується техніка @ JonathanAllen, використовуючи лише трибуквенні слова, які закінчуються на t. Рядок декомпресується до AnBiCoDoEaFaGOHuIsJoKiLoMaNiOuPaQaRoSiTiUnVeWeXaYeZi.

Я спробував прикувати двобуквенні пари так:

Ace
 Bee
  Cee
   Dew
    Ewe
     ...

Я зараз зробив це до кінця, Xале застряг Y; наскільки я можу сказати, єдине досяжне Xслово з трьох букв - це Xisі третє буквене слово не починається з Ys.

Для запису, повна струна була ceeeweeereueaebiueeiziais...


За словами Вікісловника, ви могли б використовувати uziі tiz...
DLosc

@DLosc Чудова ідея. Тоді ви повинні зробити sei, skiабо sri, що залишає вас ree, roe, rue, rye, який залишає вас ... тільки три букви q-слів я можу знайти це qat, qisі qua. Чи є сторінка Вікісловника з більш трьома літерами?
ETHproductions

Існує категорія для трьохлітерних слів, але це не повний перелік. Наприклад, він не містить que (про який я знаю лише тому, що тут використовується інша відповідь). (Не впевнений, що p-слова закінчується u, хоча.)
DLosc

@DLosc я вже використовував piu, так що це зовсім не проблема: P Дякую!
ETHproductions

Гм. piuздається досить прикордонним - у вікісловника немає англійської мови, а у Dictionary.com є più(не знаю, як ми розглядаємо акценти на цей виклик). Але так, це ys_була б проблема.
DLosc

3

Математика, 97 байт

a@c_:={ToUpperCase@c," is for ",Select[WordList[],#~StringTake~1==c&][[3]],"
"};a/@Alphabet[]<>""

Шукає у Mathematica's WordListтретє слово, що починається з кожної літери; це дозволяє уникнути одно буквених слів і заступників. Має новий рядок.

A is for aardvark
B is for babble
C is for cabala
D is for dabbled
E is for eagerly
F is for fable
G is for gabble
H is for haberdashery
I is for iambus
J is for jabberer
K is for kaleidoscope
L is for label
M is for mac
N is for nacelle
O is for oak
P is for pabulum
Q is for quackery
R is for rabbinate
S is for sable
T is for tabbouleh
U is for udder
V is for vacant
W is for wad
X is for xenophobic
Y is for yachting
Z is for zapper

eep, повністю забув, дякую
Грег Мартін

3

Groovy, 76 73 байт

(відредаговано від 76 до 73 байт, дякую коту)

Натхненний рішенням рубіну:

('A'..'Z').any{i->println"$i is for ${'AntIvyUse'.find(/$i../)?:i+'at'}"}

ми використовуємо anyзамість кожного, оскільки він коротший, і всі твердження println повертаються помилковими. Для особливих випадків у рядку ми використовуємо String.find, який у groovy повертає збіг або null. У null ми використовуємо оператор elvis, ?:щоб повернути замість нього слово, що закінчується at.

Друкує:

A is for Ant
B is for Bat
C is for Cat
D is for Dat
E is for Eat
F is for Fat
G is for Gat
H is for Hat
I is for Ivy
J is for Jat
K is for Kat
L is for Lat
M is for Mat
N is for Nat
O is for Oat
P is for Pat
Q is for Qat
R is for Rat
S is for Sat
T is for Tat
U is for Use
V is for Vat
W is for Wat
X is for Xat
Y is for Yat
Z is for Zat

Groovy, рекурсія, 74 байти

{i->println"$i is for ${'AntIvyUse'.find(/$i../)?:i+'at'}";call(++i)}('A')

виводить текст з першої відповіді, а потім викидає PatternFormatException. Ми називаємо закриття рекурсивно, починаючи з "A" і збільшуючи, ++charпоки символ після не Zвидасть помилку.

Groovy, обманом, 77 байт

З ризиком отримати лінчі:

print 'http://codegolf.stackexchange.com/q/109502'.toURL().text[21796..22189]

тобто прочитайте дані на цій сторінці та роздрукуйте на початку визначення правильної відповіді. На мій захист ... він роздруковує запитувану відповідь ... тепер ніхто не редагує сторінку ...

Groovy, використовуючи 'times', 81 байт

Спираючись на відповідь пітона з шаблоном слова з трьох літер:

26.times{i,c=i+65->printf"%c is for %c${'niooaauusoioaiuaaoiineeaei'[i]}t\n",c,c}

відбитки:

A is for Ant
B is for Bit
C is for Cot
D is for Dot
E is for Eat
F is for Fat
G is for Gut
H is for Hut
I is for Ist
J is for Jot
K is for Kit
L is for Lot
M is for Mat
N is for Nit
O is for Out
P is for Pat
Q is for Qat
R is for Rot
S is for Sit
T is for Tit
U is for Unt
V is for Vet
W is for Wet
X is for Xat
Y is for Yet
Z is for Zit

Groovy, повторюючи основні (...), 83 байти

Припускаючи, що ми рахуємо нові рядки як один символ.

i=args?args[0]:'A'
println"$i is for ${'AntIvyUse'.find(/$i../)?:i+'at'}"
main(++i)

виводить текст з першої відповіді, а потім викидає PatternSyntaxException.

Groovy, використовуючи everyWithIndex, 88 байт

'niooaauusoioaiuaaoiineeaei'.eachWithIndex{c,i->char x=i+65;println "$x is for $x${c}t"}

Groovy, використовуючи транспонінг, 102 байти

['A'..'Z','niooaauusoioaiuaaoiineeaei'as List].transpose().each{println it[0]+" is for ${it.join()}t"}

Кат - дійсне слово, тому ви можете видалити спеціальний регістр для kit.
Ділова кішка

відредаговано, дякую. Врятувало мене 3 байти
:)

2

05AB1E , 77 байт

•‹T1qA‹rËöf#ùqÈ$>M©ÈñM£r°§°Ü]€¡3¸/©#bÍ'ò7DÉø½D—¹û©˜Òו36B3ôvy™¬"ÿ is for ÿ"}»

Спробуйте в Інтернеті!

Використовується стислий такий рядок:

ASSBINCATDOTEATFATGOTHATILLJOTKITLOTMETNOTOATPATQUEROTSETTITUSEVATWETXISYIPZAP

Перетворено на Базу-214:

‹T1qA‹rËöf#ùqÈ$>M©ÈñM£r°§°Ü]€¡3¸/©#bÍ'ò7DÉø½D—¹û©˜Ò×

Використовується список скрембованих слів з 3 букв: http://wordfinder.yourdictionary.com/letter-words/3

Вихід такий:

A is for Ass
B is for Bin
C is for Cat
D is for Dot
E is for Eat
F is for Fat
G is for Got
H is for Hat
I is for Ill
J is for Jot
K is for Kit
L is for Lot
M is for Met
N is for Not
O is for Oat
P is for Pat
Q is for Que
R is for Rot
S is for Set
T is for Tit
U is for Use
V is for Vat
W is for Wet
X is for Xis
Y is for Yip
Z is for Zap

Мав 70-байтну версію, але слова з двох літер заборонені.


Пояснили:

•‹T1qA‹rËöf#ùqÈ$>M©ÈñM£r°§°Ü]€¡3¸/©#bÍ'ò7DÉø½D—¹û©˜Òו # Compressed String

36B3ô                   # Decompress, split into 3s.
     v               }  # For each word...
      y™¬"ÿ is for ÿ"   # Take first letter of word, interpolate.
                      » # Print with newlines.

qui- це не англійське слово. Дивлячись на це, видно лише латинське слово.
mbomb007

@ mbomb007, мабуть, Queя знав, що існує 3- літерне юридичне скрембліруване слово, неправильно написане ним.
Чарівний восьминога Урна

Приємні слова :) можна було б замінити на ,.
Емінья


2

Літп , 136 125 117 байт

((import lists)(each(split "niooaauusoioaiuaaoiineeaei" "")
#X,C::((print(chr(+ 65 C))"is for"(+(chr(+ 65 C))X "t"))))

(Розділити для читабельності)

Спробуйте в Інтернеті!

Це в значній мірі порт відповіді Python

  • Збережено 11 байт за допомогою eachіндексу
  • Збережено 8 байт, видаливши непотрібний дзвінок на (scope #)

Вихід:

A is for Ant
B is for Bit
C is for Cot
D is for Dot
E is for Eat
F is for Fat
G is for Gut
H is for Hut
I is for Ist
J is for Jot
K is for Kit
L is for Lot
M is for Mat
N is for Nit
O is for Out
P is for Pat
Q is for Qat
R is for Rot
S is for Sit
T is for Tit
U is for Unt
V is for Vet
W is for Wet
X is for Xat
Y is for Yet
Z is for Zit

2
Прекрасне ім'я! (Я не, громовуючи з літпи, але мова є в тому, що ця мова йде?)
Джонатан Алан

1
Дякую! Ні, мова гарна з вимовою. Більше того, що це уродлива версія Lisp. Мені просто здалося, що Лісп занадто важкий, щоб обернути голову, Літп - це моє взяти на себе таким чином, що для мене має сенс. Він повинен бути набагато читабельнішим, ніж більшість кодів Lisp.
Андракіс

1

Пакетна, 250 байт

@set s=ABCDEFGHIJKLMNOPQRSTUVWXYZ
@for %%w in (eon dellium zar jinn lbow hon nat our rk unta not lama nemonic domo uija sycho uay ye ee sunami rn ex rap enophobe ou ugzwang)do @call:c %%w
@exit/b
:c
@echo %s:~0,1% is for %s:~0,1%%1
@set s=%s:~1%

Оскільки я ніколи не збирався отримати гідну оцінку, я хотів отримати найкоротші жартівливі слова, які я міг знайти:

A is for Aeon
B is for Bdellium
C is for Czar
D is for Djinn
E is for Elbow
F is for Fhon
G is for Gnat
H is for Hour
I is for Irk
J is for Junta
K is for Knot
L is for Llama
M is for Mnemonic
N is for Ndomo
O is for Ouija
P is for Psycho
Q is for Quay
R is for Rye
S is for See
T is for Tsunami
U is for Urn
V is for Vex
W is for Wrap
X is for Xenophobe
Y is for You
Z is for Zugzwang

1

укладається , 72 байти

Є два на 72 байти!

65@i$'niooaauusoioaiuaaoiineeaei'{!i#::' is for '+\n+'t'+ +out i 1+@i}"!
{!n#::' is for '+\'niooaauusoioaiuaaoiineeaei'n 65-#+'t'+ +out}65 90 for

Спробуйте в Інтернеті! Використовуючи цей дивовижний візерунок. (Перш ніж запитати,++ був би один знак, так+ + він використовується замість цього.)

Обидва працюють ітерацією від 65до90 і отримати правильну послідовність символів. Примітки:

  • #: псевдонім для chr
  • # псевдонім для get
  • {!...}те саме, що { n : ... }(лямбда сn параметром)

За 73 байти:

'niooaauusoioaiuaaoiineeaei'toarr{e i:65 i+#::' is for '+\e+'t'+ +out}map

1

Mathematica 93 байт

ToUpperCase@#<>" is for "<>Cases[WordList[],s_/; s~StringPart~1==#][[9]]&/@Alphabet[]//Column

врожайність

A is for abandoned
B is for babushka
C is for cabin
D is for dactylic
E is for eardrum
F is for fabricator
G is for gadabout
H is for habitation
I is for ice
J is for jackal
K is for kappa
L is for laboratory
M is for macaroni
N is for nagger
O is for oarsman
P is for pachysandra
Q is for quadratic
R is for rabidness
S is for saccharin
T is for tableland
U is for ulcer
V is for vacationist
W is for wadi
X is for xylene
Y is for yammer
Z is for zebra

1

Groovy, 72 байти

c=65;"niooaauusoioaiuaaoiineeaei".any{printf"%c is for %<c%st\n",c++,it}

Вихід

A is for Ant
B is for Bit
C is for Cot
D is for Dot
E is for Eat
F is for Fat
G is for Gut
H is for Hut
I is for Ist
J is for Jot
K is for Kit
L is for Lot
M is for Mat
N is for Nit
O is for Out
P is for Pat
Q is for Qat
R is for Rot
S is for Sit
T is for Tit
U is for Unt
V is for Vet
W is for Wet
X is for Xat
Y is for Yet
Z is for Zit

1

Пітон 3, 145 137 135 байт

Я пожертвував деякими байтами, щоб псевдовипадковувати вихід з кожним запуском. Ідея полягає у пошуку малих слів, що містять принаймні 3 символи, /usr/share/dict/wordsа потім виберіть одне із цього списку за допомогою id([x])%99.

import re
for x in range(65,91):print("%c is for "%x+re.findall("\n(%c.{3,})"%(x+32),open('/usr/share/dict/words').read())[id([x])%99])

Правки

  • Вилучено title() оскільки слова не мають великої літери.
  • Змінено регулярний вираз на "\n(%c.{3,})"(+ 3 байти), щоб дозволити видалення ,re.M(- 5 байт).

Приклад виводу:

A is for abacinate
B is for bacchantic
C is for caback
D is for dactylosternal
E is for eagless
F is for factful
G is for gabbroic
H is for hackneyed
I is for iambize
J is for jacutinga
K is for kadaya
L is for labra
M is for macaco
N is for nailwort
O is for oakenshaw
P is for pachysomia
Q is for quachil
R is for racer
S is for sabbath
T is for tabulable
U is for ubication
V is for vagabondism
W is for wabe
X is for xenobiosis
Y is for yacca
Z is for zeed

Не впевнений, що всі вони дійсні. Наприклад, я не можу знайти визначення для Qohele, хоча пошук виявляє, що це книга або обсяг священного тексту.
Андракіс

1
Щойно помітив, що мій регулярний вираз не відповідає до кінця кожного слова - виправить.
PidgeyUsedGust

Виправлено це. Тепер шукайте лише малі, цілі слова, щоб там не було імен.
PidgeyUsedGust

1

GNU sed, 81 + 1 (r прапор) = 82 байти

Це СЄПН реалізація списку слів з Джонатана Аллана відповіді .

s:$:AnBiCoDoEaFaGuHuIsJoKiLoMaNiOuPaQaRoSiTiUnVeWeXaYeZi:
s:(.).:\1 is for &t\n:g

Слова, за винятком спільного закінчуваного листа t, наводяться у з’єднаній формі у рядку 1, а потім надрукуються у запитуваному форматі рядком 2. Присутній останній новий рядок.

Виконати :

sed -rf alphabet_song.sed <<< ""

1

Java 7, 124 121 байт

String c(){String r="";for(char c=65;c<91;r+=c+" is for "+c+"baaonaiineioaeaoaaeileeaoi".charAt(c++-65)+"t\n");return r;}

На підставі @JonathanAllen відповіді «s , так як Java не має фантазій вбудованого словника. ;) Я намагався знайти іншу кінцеву букву для всього алфавіту (наприклад , sчи nабо y), або середню букву (наприклад , aчи e), але більшість з них НЕ вистачає тільки одного або двох слів, так що я в кінцевому підсумку , використовуючи , tяк добре. Слова вибираються вручну з wordhippo.com .

Безголівки:

Спробуйте тут.

class M{
  static String c(){String r="";for(char c=65;c<91;r+=c+" is for "+c+"baaonaiineioaeaoaaeileeaoi".charAt(c++-65)+"t\n");return r;}

  public static void main(String[] a){
    System.out.println(c());
  }
}

Вихід:

A is for Abt
B is for Bat
C is for Cat
D is for Dot
E is for Ent
F is for Fat
G is for Git
H is for Hit
I is for Int
J is for Jet
K is for Kit
L is for Lot
M is for Mat
N is for Net
O is for Oat
P is for Pot
Q is for Qat
R is for Rat
S is for Set
T is for Tit
U is for Ult
V is for Vet
W is for Wet
X is for Xat
Y is for Yot
Z is for Zit

1
+1 для +a+++. Мені подобається писати такі: P
Poke

1

PHP, 91 87 86 76 байт

на основі списку слів Джонатана Аллана :

for($a=A;$i<26;)echo"$a is for ",$a++,neaoaaeiseioeuuoaaiineiaei[$i++],"t
";

старіші версії, 86 байт:

for($a=A;a&$c=reaoaaei0eioeuuoaaii0eiaei[$i++];)echo"$a is for ",$a++,$c?$c.t:nto,"
";

або

for($a=A;$c=reaoaaeiHeioeuuoaaiiHeiaei[$i++];)echo"$a is for ",$a++,$c^x?$c.t:nto,"
";

Бігайте з -nr.

вихід

A is for Art
B is for Bet
C is for Cat
D is for Dot
E is for Eat
F is for Fat
G is for Get
H is for Hit
I is for Into
J is for Jet
K is for Kit
L is for Lot
M is for Met
N is for Nut
O is for Out
P is for Pot
Q is for Qat
R is for Rat
S is for Sit
T is for Tit
U is for Unto
V is for Vet
W is for Wit
X is for Xat
Y is for Yet
Z is for Zit

Дивні слова див. У відповідь Ісмаїла

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.