アルファベットの歌を作成する


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)。

  • 誰もそれを短くするとは思わないが、1つの単語の代わりにフレーズを使用することは許容できると思う。そのため、何らかの理由S is for Something smells fishy...で短くなった場合は、それを選択してください。

  • プログラムの出力を回答に入れるか、少なくとも使用した単語のリストに入れます(コードをオンラインで実行するためのリンクがあれば、出力全体を見る必要はありません)。

  • 最短のコードが勝つ


この挑戦はこのビデオに触発されました


適切な辞書にリストされていても、スラングは許可されていないと思いますか?(例えば、「彼女が再び奥地に向かっていることに気付いたとき、彼女はちょうどueyを引っ張った!」)
ジョナサンアラン

1
いくつかの答えを考えると、Barenaked Ladiesによるこの曲は関連性があるようです。
AdmBorkBork

1
@JonathanAllanスラングはありません。辞書には、技術的には言葉ではないものがたくさん含まれています。略語は1つ、スラングはもう1つです。
mbomb007

4
これが同じ文字で終わる3文字の単語を見つけることに発展したのは残念です。
12Me21

1
外部辞書を使用したいくつかの答えがあります。そのファイルのサイズをコードに追加する必要はありませんか?
パイプ

回答:


3

SOGL 0.8.160の 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"

これはほとんどJonathan Allanの答えですが、この言語に移植されています。

旧バージョン:(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)、 818782、78バイト

Xのマニュアルページを単語のソースとして使用します。

ゴルフ

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

編集

  • 存在しない「xyst」のmanページ+ |&を使用して、5バイトを節約しました。
  • sedsortを交換して、さらに4バイトを節約しました。

テスト

%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は修正されなければならない
ツェッペリン

2
私が調べたところ、はい、xystは本当の言葉です。:)
OldBunny2800

3
子供たちは大きな言葉を学んでいるようです。:D
mbomb007

1
@JonathanAllan残念ながら、「x」のマニュアルページはTIOでは利用できませんが、代わりに「man man」を使用するリンク tio.run/nexus/…があります。トリックxystはつまりxyst男、その後で標準出力にマージされる標準エラー出力に「xystのための手動によるエントリ」がないと文句を言うだろう|&、それはgreppedすることができます。
ツェッペリン

33

Pythonの288の 77バイト

xnorのおかげで-11バイト(文字列を走査cして65からカウントアップすることでzipを避けます)

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

オンラインでお試しください!

(56バイトだったJellyの回答の移植版。)

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
私はtで終わる言葉の方法が好きです。並行して更新するxことにより、反復を短縮できます。
xnor

相変わらず非常に賢い。ありがとう!
ジョナサンアラン

1
なにUnt?どこでもそれを見つけることができません
アルバートレンショー

私はUnt言葉だとは思いませんが、リテラルをにUt置き換えてn\0これを有効にし、もう1バイト追加するだけです。編集ネバーマインドルールは、3文字の長さでなければならないと言います...うーん
アルバートレンショー

4
@AlbertRenshaw untは、Merriam-Websterによるとヨーロッパモグラです。ウィクショナリーによれば、代替手段はultです。これは単なる略語ではありません(ult。などのピリオドでリストされています)。
ジョナサンアラン

31

バッシュ、 78、69バイト

ツチブタ、バブーシュカ、カミカゼ!

ゴルフ

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

編集

  • grepを取り除きました、-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"}

オンラインでお試しください!

ループ6590(すなわち、ASCII AZ)。反復ごとに、整数を適切なchar(つまり、ASCII 65A)にし、$i後で使用するために保存し、それを文字列で連結してis for $iから、適切な単語の中央に付けます。これは、長い文字列にインデックスを付けることで実行されます(ジョナサンアランの答えから借用)。文字で終わりt、3文字の単語を作成します。

結果の文字列はすべてパイプラインに残りWrite-Output、最後の暗黙的な文字列は間に改行を入れて出力します。

ジョナサン・アランの回答からの単語リストを借りロッドのおかげで、大量のバイトを節約しました


各単語の最初の文字(大文字)を削除し、[char]$
ロッド

@ロッドあり​​がとう。ループの計算方法とインデックスの計算方法と保存方法を変更するために、今取り組んでいたものと組み合わせました。
AdmBorkBork

13

ゼリー、39 バイト

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

TryItOnline!

56バイトのバージョン(下の2)に基づいていますが、すべての中間文字削除するために言葉を変え"u"、それが辞書に単語へのインデックスことができますので、Sを"anisole"、我々は、すべての6未満のインデックスで必要な文字を持つことの利便性を持っている*は、: 1:a, 2:n 3:i, 4:s, 5:o (6:l), 0:e(注意"e"右側のインデックスはゼロです(7と-7、および0 mod 7に一致するその他の数値))。また、辞書の初期段階であるため、一般的な3バイトのルックアップインデックスではなく、2つしかありません("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¦

単語はすべて、2番目の文字 "s"または "a"と最後の文字 "p"または "t"を持ち、 "sa"と "pt"のデカルト積の基数4ルックアップを使用します。コードが「使用」に変更する「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

...「文字に動物がいないスポット」を遊ぼう!そこに1、そして唯一のものです-赤ニシンのために気を付ける (嘘、赤いニシンは明らかに要素ではなく、動物である、キセノンだった)、2〜5文字の単語は(一つであるキセノン)動物ではないことをここにあります:

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

へえ、それは嘘だった。キセノンは明白なものでした:)
ジョナサンアラン

私は彼らがゼリーの辞書にないxenopについて考えていると思います。
ジョナサンアラン

素晴らしいアイデア!でもUut
グレッグマーティン

@GregMartin同意します、あなたはあなたの言葉を音節的なうなり声に変え始めたと思います。
魔法のタコUr

10

網膜89 87バイト

Martin Enderのおかげで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歌で使用されるすべての単語はで終わるため、すべての行の最後にa を付けtます。


大文字をキャプチャする必要はありません。$&またはの$0代わりにまたはを使用します$1。実際、それはまた、分割段階でバイトを節約するかもしれません。
マーティンエンダー

@MartinEnderありがとう。$&正確には何をしますか?GitHub wikiには表示されませんでした。
ビジネス猫

これはエイリアスです$0(そして、.NETフレーバーの一部であり、他のほとんどのフレーバーも同様です)。
マーティンエンダー

83にそれを得るために、いくつかの短い言葉を使用して、オンラインにしてみてください
ジョナサン・アラン

8

網膜92 88バイト

Business Catの回答からアイデアを借用して4バイトを節約しました。

バイトカウントは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";

改行は\n1バイトとして表されますが、カウントされます。


出力:

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、またはikkatは、織物をパターン化するために使用される染色技術であり、布地を染色および製織する前に糸に抵抗染色を使用します。

  • xat

    北米西部のインディアンによって死者の記念碑として建てられた彫刻ポール

  • zit

    にきび; 皮膚の傷。

  • qat

    Catha edulis(khat、qat)は、アフリカの角とアラビア半島に自生する顕花植物です。


賢い解決策私はこれを見てうれしい、似たようなことをしようとしていました!+1
アルバートレンショー

1
これらは、英語の単語....ではありません
コナー・オブライエン

@ ConorO'Brienよろしいですか?私の知る限り、PHPはすべて英語で書かれています。
イスマエルミゲル

5
@IsmaelMiguelもののようにvprintfしてzend_version最も確かに英語の単語ではありません。これらのエンティティのほとんどは実際には単語です。
コナーオブライエン

1
zit変な言葉を呼ぶつもりはありません。少なくとも、誰もがそれが何を意味するかをすでに知っているべきだと思います。
mbomb007

6

Pyke、55 51 48バイト

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

ここで試してみてください!

リンクは3つの長さであり、単語に接続詞が含まれているため資格がありません。

    [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の外部でこれをテストできます。dictionary.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子供にこれを歌わせる前に真剣に検討します。
ツェッペリン


私がやったようにダブルテイクをしている人にとっては、英語は必ずしも大文字ではない。;)
DLosc

6

Japt52 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文字列圧縮ライブラリを使用します。これは、小文字の一般的な実行を1バイトずつ減らします。以下は、1バイトに圧縮されたすべての2文字実行の完全なリストです。

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

注目すべき興味深い点の1つは、Japtがバックティックでラップされた文字列を暗黙的に解凍できることですが、1つではなく解凍された文字列で2つの文字を取得する必要があるため、実際にはここでは1バイト長くなります。


6

05AB1E45 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

「t」で終わるすべての3文字の単語。そのほとんどは「at」です。

議論の余地のある単語(iat、dat、amp。ump)を使用する-55バイト:

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

まだパターンを見つけようとしていますが、たった2つの異なるエンディングを使用して、すべてを単純化することが可能だと思います。

@Value Inkと@Business catに感謝します。


1
QATおよびXisの(複数のXiが、あなたがそれらを使用してもあなたの検索正規表現を減らすことができるように)、単語です/#{l}../
バリューインク

おかげで、似たようなことを考えていましたが、今はPCから離れているので、間違いなく確認します。
GB

実際、私は行方不明の文字のためのいくつかの5文字の単語を見つけようとしていました:配列、エッセイ、インレイ...しかし、私はそれにこだわっています。:
GB

1
Katは有効な単語なので、の特殊なケースを削除できますkit
ビジネス猫

1
私は「dat」と「zat」について考えましたが、どちらも同じ接続詞(that)とスラングであり、どちらのタイプの単語も禁止されています。「amp」と「ump」は「ampere」/「amplify」と「umpire」の略語のようです。「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

オンラインで試す

ヨブ-n。-残酷で残忍な仲間

うーん、今日何かを学んだ...


2
英国では、ヨーブは怠け者、凶悪犯、または貧乏人です。残酷で残忍なものよりも不un慎で乱暴です。
ジョナサンアラン

1
ロシア語では、「Yob」はわいせつな動詞の過去の短縮形であり、基本的には英語の「f * ck」に相当します。より多くのあなたが知っている...
ミスター困り者

5

05AB1E72 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

その配列をプッシュする理由を説明できますか?
魔法のタコUr

05AB1Eには、文字列内の2バイトで表すことができる組み込みの単語がいくつかあると思います。
12Me21

@ 12Me21かっこいい!”–³”=Appleそしてint(–³,214)=23891、私はまだここに相関関係が表示されません。
魔法のタコUr

これがリストだと思います: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>して文字列に入れます。その後、それを1つの巨大な文字列(単語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の手法を使用し、末尾が3文字の単語のみを使用しtます。文字列はに圧縮解除されAnBiCoDoEaFaGOHuIsJoKiLoMaNiOuPaQaRoSiTiUnVeWeXaYeZiます。

私はそのように2文字のペアを連鎖してみました:

Ace
 Bee
  Cee
   Dew
    Ewe
     ...

私は今までずっとそれを作りましXたが、行き詰まりましたY。私が知る限り、達成可能な3文字のX単語はのみでありXis、で始まる3 文字の単語はありませんYs

レコードの場合、完全な文字列はceeeweeereueaebiueeiziais...


ウィクショナリーによると、あなたが使用することができますuziし、tiz...
DLosc

@DLosc素晴らしいアイデア。そして、あなたは何をする必要があるだろうseiski、またはsriをあなたに残す、reeroeruerye...であなたを残している、唯一の3文字のq私は見つけることができる-wordsがありqatqisqua。3文字以上の単語を含むウィクショナリーページはありますか?
ETHproductions

3文字の単語のカテゴリがありますが、完全なリストではありません。たとえば、queが含まれていません(ここで別の回答で使用されているため、これについてのみ知っています)。(pただし、末尾がu
DLosc

@DLosc私はすでに使用piuしていたので、それはまったく問題ではありません:Pありがとう!
ETHproductions

ふむ piuウィクショナリーには英語とはpiù異なり、dictionary.comには英語があります(このチャレンジのアクセントをどのように検討しているのでしょうか)。しかし、ええ、ys_問題になります。
DLosc

3

Mathematica、97バイト

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

Mathematica WordListで各文字で始まる3番目の単語を探します。これにより、1文字の単語や間投詞が回避されます。末尾に改行があります。

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

イープ、まったく忘れてしまった、ありがとう
グレッグマーティン

3

Groovy、76 73バイト

(76〜73バイトに編集、ありがとう猫)

ルビーソリューションに触発された:

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

any短く、すべてのprintlnステートメントがfalseを返すため、それぞれの代わりに使用します。文字列の特殊なケースでは、groovyで一致またはnullを返すString.findを使用します。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バイト

3文字の単語パターンを使用してPythonの回答を作成します。

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、main(...)で再帰することにより、83バイト

改行を1文字として数えると仮定します。

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

最初の回答からテキストを出力し、PatternSyntaxExceptionをスローします。

Groovy、eachWithIndexを使用、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"}

Katは有効な単語なので、の特殊なケースを削除できますkit
ビジネス猫

編集、ありがとうございます。3バイト保存してくれました:)
マティアスビャランド

2

05AB1E、77バイト

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

オンラインでお試しください!

圧縮された次の文字列を使用します。

ASSBINCATDOTEATFATGOTILLILLOTOTKITLOTMETNOTOATPATQUEROTSETTITUSEVATWETXISYIPZAP

Base-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バイトバージョンでしたが、2文字の単語は使用できません。


説明:

•‹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文字の法的スクラブルワードがあることを知っていたはずで、スペルを間違えていました。
魔法のタコUr

いい言葉:) はに置き換えることができます,
エミグナ


2

Lithp136の 125 117バイト

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

(読みやすさのために分割)

オンラインでお試しください!

これはほとんどPythonの答えの移植版です

  • eachのインデックスを使用して11バイトを保存しました
  • 無駄な呼び出しを削除して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を頭に巻き付けるのが難しすぎると感じました。Lithpは、私にとって理にかなっている方法でそれを理解しています。ほとんどの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バイトに2つあります!

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

オンラインでお試しください!その素晴らしいパターンを使用します。(尋ねる前++に、単一のトークンになるので、+ +代わりに使用されます。)

両方ともから反復し6590正しい文字シーケンスを取得することで機能します。ノート:

  • #: はのエイリアスです 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

Pythonの3、145の 137 135バイト

実行ごとに出力を擬似ランダム化するために、いくつかのバイトを犠牲にしました。アイデアは、少なくとも3文字の小文字の単語を探し、/usr/share/dict/wordsを使用してそのリストから1つを選択すること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バイト

これは、ジョナサンアランの答えからの単語リストのsed実装です。

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

共有の終了文字を除く単語は、t1行目に連結形式で指定され、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;}

Javaには派手な組み込み辞書がないため、@ JonathanAllenの回答に基づいています。;)私のような全体のアルファベットのためのもう一つのエンディング手紙(見つけることを試みたsか、nまたはy)、等の中間の文字(aまたはe)、ほとんどは1つのつか2つの単語欠落していたので、私は使ってしまった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

奇妙な言葉については、イスマエルの答えを参照してください

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.