Loto基本クラスにプロパティを追加し、内部データにアクセスしやすいようにした。
と言っても、_bnのような要素をbonusというプロパティでアクセスできるようにしただけである。
修正後のプログラムは以下の通り。
(ファイル名) 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 @property def nums(self): return self._numbers @property def bonus(self): return self._bn @property def priznum(self): return self._pn @property def amounts(self): return self._an @property def c_over(self): return self._co 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)
これにより、以下のプロパティで内部データにアクセスできる。
プロパティ名 | 取得データ |
---|---|
nums | 抽選数字のリスト |
bonus | ボーナス数字のリスト |
priznum | 各等毎の当選者数のリスト |
amounts | 各等毎の当選金額のリスト |
c_over | キャリーオーバー金額 |