Я работаю над этим классом Money, и все работает отлично вплоть до умножения. Я продолжаю получать ошибку атрибута и не могу понять, где я ошибаюсь. Умножение имеет тип float.Я продолжаю получать ошибку атрибута '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
Пожалуйста, ** ** ПОЖАЛУЙСТА **, сообщите точную ошибку, которую вы получаете. Или, по крайней мере, показать, как вы используете предоставленные вами функции. Без этого было бы угадывающей игрой, пытающейся понять, какая функция вызывает ошибку. –
>>> m2 = Деньги (10,10) >>> m2.times (3) Traceback (самый последний вызов последнего): Файл "", строка 1, в m2.times (3) Файл «/Users/kylerbolden/Desktop/hw2.py», строка 67, в раз d = float (self.dollars) * float (mult.dollars) AttributeError: объект 'int' не имеет атрибута 'dollars' –