【发布时间】:2020-06-09 08:54:06
【问题描述】:
我实际上已经找到了解决我的问题的方法,但我觉得好像还有更好的方法。我似乎无法理解为什么程序认为我在处理 method 而不是 float。
如果我尝试运行该程序,它表示我正在尝试将两个方法相加。但是,当我运行该行时:
print(type(my.coins.add_coins()))
它告诉我它返回了一个浮点数。
代码如下:
class Currency:
def __init__(self, pennies, nickles, dimes, quarters):
self.pennies = pennies
self.nickles = nickles
self.dimes = dimes
self.quarters = quarters
def penny_value(self):
return self.pennies * .01
def nickle_value(self):
return self.nickles * .05
def dime_value(self):
return self.dimes * .1
def quarter_value(self):
return self.quarters * .25
def add_coins(self):
return self.penny_value + self.nickle_value + self.dime_value + self.quarter_value
my_coins = Currency(1, 1, 1, 1)
#why does this work?
print(my_coins.penny_value() + my_coins.nickle_value())
#but not this?
print(my_coins.add_coins())
【问题讨论】:
-
penny_value不是penny_value()... -
耶稣....我觉得自己很笨。感谢您的帮助。
标签: python class methods typeerror