pythonでズンドコキヨシ

  • 4
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

元ネタ

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

まずは普通に

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