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 | キャリーオーバー金額 |