Edited at

pythonでズンドコキヨシ

More than 3 years have passed since last update.


元ネタ

こちら

取り敢えず乗っておこう。


まずは普通に


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