##元ネタ
今日も1日がんばるぞい!
×
Pythonで作ったひどいものまとめ - nishio(ニコニコ動画)
どちらも古いネタだがやってしまったものはしょうがない。
##ぞい!
>>> import itertools, random; goal='今日も1日がんばるぞい!' ; dic = [['今日','ぞい'],['も'],['1','ぞい'],['日','ぞい'],['がん','ぞい'], ['ばる','ぞい'], ['ぞい!']] ; gen = ( ''.join( [ random.choice(x) for x in dic ] ) for i in itertools.repeat(0)) ; tw = itertools.takewhile( lambda x : x!=goal , gen ) ; ls = list(tw) ; print '\n'.join(ls) + '\n' + goal + '\n🌟 がんばるまで' + str(len(ls)) + 'zoiでした🌟'"
##がんばる
無限リストやジェネレータなど、以外^H^H意外と勉強になった気がする。
※広域変数回避版を作成中。できたら更新予定。
できました。今度はインデントで整形してみました。
.oO(ここまでがっつりやっちゃうと、ワンライナーとは・・・ってなるな。)
import itertools, random;
print [
'\n'.join(
ls +
['今日も1日がんばるぞい!'] +
['🌟 がんばるまで' + str(len(ls)) + 'zoiでした🌟']
) for ls in [list(
itertools.takewhile(
lambda(x):x!='今日も1日がんばるぞい!' ,
( ''.join(
[ random.choice(x) for x in
[['今日','ぞい'], ['も'],
[ '1','ぞい'], ['日','ぞい'],
['がん','ぞい'], ['ばる','ぞい'],
['ぞい!']
]
]
) for i in itertools.repeat(0)
)
)
)]
][0]
Python3の別解が来てますね。早すぎ^H^H^Hありがたい、勉強になります。
- print文じゃなくてprint命令だとこういうふうに表現の幅が広がるのか。
- %でフォーマット表現できるの忘れてた・・・
- 使い捨てを明示するための
hoge
とか_
とか、なるほど。