Loto基本クラスの作成

ミニロト、ロト6、ロト7の一回分の当選番号データを表すための基本クラスを作る。
このクラスを「Loto基本クラス」と名付ける。
クラス名は、LotoBasic。

とりあえず、こんなスクリプトを書いてみた。

(ファイル名) loto_basic.py

class LotoBasic:
    def __init__(self, round, numbers, bonus_numbers, prize_nums, amount_nums, carry_over=0):
        """
        round: 回
        numbers: 当選番号のリスト
        bonus_numbers: ボーナス数字のリスト
        prize_nums: 当選者数のリスト
        amount_nums: 当選金額のリスト
        carry_over: キャリーオーバーの金額
        """

        self._round = round
        self._numbers = numbers
        self._bn = bonus_numbers
        self._pn = prize_nums
        self._an = amount_nums
        self._co = carry_over

    def __str__(self):
        bn_str = '[' + ','.join([str(i) for i in self._bn]) + ']'

        return "({round}) {numbers} {bn} PN[{pn}] AN[{an}] CO({co})".format(round=self._round,\
                numbers=','.join([str(i) for i in self._numbers]),\
                bn=bn_str, pn=','.join([str(i) for i in self._pn]),
                an=','.join([str(i) for i in self._an]), co=self._co)

# 以下はテストコードなので削除してもかまわない
if __name__ == '__main__':
    miniloto = LotoBasic(939, [8, 12, 20, 23, 28], [16], [10, 20, 30, 40, 50], [100, 200, 300, 400, 500])
    loto6 = LotoBasic(1207, [6, 16, 17, 20, 22, 43], [34], [10, 20, 30, 40, 50, 60], [100, 200, 300, 400, 500, 600], 123456)
    loto7 = LotoBasic(229, [2, 3, 9, 30, 33, 36, 37], [1, 32], [10, 20, 30, 40, 50, 60, 70], [100, 200, 300, 400, 500, 600, 700], 7777777)
    print(miniloto)
    print(loto6)
    print(loto7)

回、当選番号、ボーナス数字だけを管理する。
当選金額や日付などの数字は、後で必要になったら組み込むことにする。