##元ネタ
こちら
取り敢えず乗っておこう。
##まずは普通に
zundoko.py
# coding:utf-8
from random import choice
ZUNDOKO_MESSAGE = 'ズンズンズンズンドコ'
KIYOSHI = 'キ・ヨ・シ!'
def zundoko():
check_list = []
while ''.join(check_list[-5:]) != ZUNDOKO_MESSAGE:
check_list.append(choice(['ズン', 'ドコ']))
print check_list[-1]
print KIYOSHI
if __name__ == '__main__':
zundoko()
実行
$ python zundoko.py
ズン
ドコ
ズン
ドコ
ドコ
ズン
ドコ
ドコ
ズン
ドコ
ドコ
ズン
ドコ
ドコ
ズン
ドコ
ドコ
ズン
ズン
ズン
ズン
ドコ
キ・ヨ・シ!
うむ
##無駄にクラス化
少バイト数を目指す方が多い中、無駄なことをやる。
まあ色々突っ込みドコロはあるが。
ZundokoKiyoshi.py
# coding:utf-8
from random import choice
class ZundokoKiyoshi:
CORRECT_MESSAGE = 'ズンズンズンズンドコ'
RESULT_MESSAGE = 'キ・ヨ・シ!'
_message_list = ['ズン', 'ドコ']
_result = []
def say_rand(self):
'''
メッセージをランダムに返す
'''
return choice(self._message_list)
def append(self, message):
'''
リストにメッセージを追加する
'''
self._result.append(message)
def empty(self):
'''
リストを空にする
'''
self._result = []
def is_correct(self):
'''
リスト内のメッセージを確認し、メッセージが正しいかどうかを返す
'''
return ''.join(self._result[-5:]) == self.CORRECT_MESSAGE
def print_result(self):
'''
結果メッセージを返す
'''
print ''.join(self._result) + self.RESULT_MESSAGE
def check(self):
'''
ズンドコキヨシを実行する
'''
while (self.is_correct() is False):
self.append(self.say_rand())
self.print_result()
self.empty()
return True
使い方
execZundokoKiyoshi.py
# coding:utf-8
from ZundokoKiyoshi import ZundokoKiyoshi
if __name__ == '__main__':
zundoko = ZundokoKiyoshi()
for i in xrange(5):
zundoko.check()
実行
$ python execZundokoKiyoshi.py
ズンドコズンズンズンズンズンズンズンドコキ・ヨ・シ!
ズンズンズンズンドコキ・ヨ・シ!
ドコドコドコズンドコズンドコドコドコドコズンズンドコドコドコズンドコズンズンズンドコズンドコドコドコドコドコドコズンドコドコズンドコドコズンズンドコズンズンドコズンドコズンズンドコズンズンドコズンドコドコドコドコドコドコドコズンズンドコドコドコズンズンズンドコズンドコズンドコズンドコドコズンズンズンドコドコズンドコドコズンズンズンズンドコキ・ヨ・シ!
ズンズンドコズンズンドコズンズンドコズンズンズンズンドコキ・ヨ・シ!
ズンズンドコドコドコズンドコズンドコドコズンズンズンドコズンズンドコズンズンドコドコドコドコズンドコズンドコドコドコズンズンズンズンズンズンドコキ・ヨ・シ!
目がしぱしぱするw