なんか流行っているみたいなので便乗します。
http://qiita.com/shunsugai@github/items/971a15461de29563bf90Javaの講義、試験が「自作関数を作り記述しなさい」って問題だったから
— てくも (@kumiromilk) 2016年3月9日
「ズン」「ドコ」のいずれかをランダムで出力し続けて「ズン」「ズン」「ズン」「ズン」「ドコ」の配列が出たら「キ・ヨ・シ!」って出力した後終了って関数作ったら満点で単位貰ってた
Pythonのコードは結構掲載されていたのですが、Pythonのワンライナー枠が空いてそうだったので書きました。
$ python3 -c'import random as r;z,d,p="ズン","ドコ",lambda v:print(v) or v;t=[z,z,z,z,d];_=lambda s:s==t or _((s+[p(r.choice([z,d]))])[-5:]);_([]);p("キ・ヨ・シ!!")'
実行結果
$ python3 -c'import random as r;z,d,p="ズン","ドコ",lambda v:print(v) or v;t=[z,z,z,z,d];_=lambda s:s==t or _((s+[p(r.choice([z,d]))])[-5:]);_([]);p("キ・ヨ・シ!!")'
ドコ
ズン
ドコ
ドコ
ドコ
ズン
ドコ
ドコ
ドコ
ドコ
ドコ
ドコ
ドコ
ズン
ドコ
ズン
ドコ
ズン
ズン
ドコ
ドコ
ズン
ドコ
ドコ
ズン
ズン
ドコ
ズン
ドコ
ズン
ズン
ズン
ズン
ドコ
キ・ヨ・シ!!
$
[追記]
ゴミが表示されるよとのご指摘をいただいたのでちょっとだけ修正したのも載せておきます。
python3 -c'import random as r;z,d,p="ズン","ドコ",lambda v:print(v) or v;t=[z,z,z,z,d];_=lambda s:s==t or _((s+[p(r.choice([z,d]))])[-5:]);n=_([]);n=p("キ・ヨ・シ!!")'