このMoneyクラスで作業していて、すべてが乗算されるまでうまくいきました。私は属性のエラーを取得し続けて、私が間違っているのを把握することはできません。乗算はfloat型です。 m2.times(3)
で属性エラー 'int'オブジェクトに属性 'dollars'がありません。
class Money:
def __init__(self, d, c):
self.dollars = d
self.cents = c
def __str__(self):
return '${}.{:02d}'.format(self.dollars, self.cents)
def __repr__(self):
return 'Money({},{})'.format(repr(self.dollars), self.cents)
def add(self, other):
d = self.dollars + other.dollars
c = self.cents + other.cents
while c > 99:
d += 1
c -= 100
return Money(d,c)
def subtract(self, other):
d = self.dollars - other.dollars
c = self.cents - other.cents
while c < 0:
d -= 1
c += 100
return Money(d,c)
def times(self, mult):
d = self.dollars * mult.dollars
c = self.cents * mult.cents
while c > 99:
d *= 1
c *= 100
return Money(d,c)
>>> m2 = Money(10,10)
>>> m2.times(3)
Traceback (most recent call last): File "<pyshell#51>", line 1, in <module> m2.times(3)
File "/Users/kylerbolden/Desktop/hw2.py", line 67, in times
d = float(self.dollars) * float(mult.dollars)
AttributeError: 'int' object has no attribute 'dollars'
コードブロックを変更してください。あなたのコードの最初の行は残りの部分から切り取られたようです! – Mangohero1
してください、**してください**、あなたが得ている正確なエラーを投稿してください。または、あなたが提供した機能をどのように使っているかを少なくとも示してください。これがなければ、どの機能がエラーを起こしているのかを把握しようとする推測ゲームになります。 –
>>>平方メートル=マネー(10,10) >>> m2.times(3) トレースバック(最新の呼び出しの最後): m2.timesで ファイル ""、ライン1、(3) ファイル "/Users/kylerbolden/Desktop/hw2.py"、行67、時には d = float(self.dollars)* float(mult.dollars) AttributeError: 'int'オブジェクトに属性 'dollars'がありません –