FizzBuzzとの3か月(23)
お世話になっております。
今日は、昨日の続きです。
FizzBuzzNumberクラスの__add__メソッドをオーバーライドし、計算結果をFizzBuzzNumberクラスのインスタンスとして返すようにしました。
以下、コードです。
class FizzBuzzNumber(int): def __init__(self, value): int.__init__(value) def __add__(self, other): return FizzBuzzNumber(int.__add__(self, other)) def __str__(self): if 0 == self % 3 and 0 == self % 5: return 'FizzBuzz' elif 0 == self % 3: return 'Fizz' elif 0 == self % 5: return 'Buzz' else: return str(self.__int__()) num = FizzBuzzNumber(0) while num < 100: num += 1 print(num)
1から100まで出力するループでは、FizzBuzzNumberを全く気にしていないのがポイントです。
以上