LoginSignup
5
4

More than 5 years have passed since last update.

pythonでズンドコキヨシ

Last updated at Posted at 2016-03-15

元ネタ

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

まずは普通に

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

5
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
4