我不知道我的代码有什么问题。它不会执行。什么都没发生,没有错误发生。我无法弄清楚。 如果有人能告诉我我做错了什么,请这样做,我将不胜感激。
class Money (object):
def __init__ (self, euro, cent):
self.euro = euro
self.cent = cent
def __str__ (self):
if self.cent >= 100:
r = self.cent / 100
self.cent = self.cent % 100
self.euro = self.euro + r
return ("%d EUR & %d cents") % (self.euro, self.cent)
else:
return ("%d EUR & %d cents") % (self.euro, self.cent)
def changeCent (self):
#100 c = 1 E
cents = self.euro * 100
self.cent = self.cent + cents
return self.cent
def changeSum (self, euros):
#1 E = 100 c
euros = self.cent / 100
self.euro = self.euro + euros
return self.euro
def debt (self, years, rate):
value = Money()
multiply = rate * years * 12 / 100
value.euro = self.euro * multiply
value.cent = self.cent * multiply
if value.cent > 100:
euro_ = value.cent / 100
value.cent = value.cent - 100
value.euro = value.euro + euro_
return value
def main():
x = Money()
x.euro = int(input("Type in your EURO ammount: \n"))
x.cent = int(input("Type in your CENT ammount: \n"))
print (x)
答案 0 :(得分:4)
在python中,main
不是特殊功能(例如,与C不同)。
您需要在脚本中明确调用main()
。
一个常见的习惯用法是只在你的文件作为脚本运行(而不是导入)时才这样做:
if __name__ == "__main__":
main()
请参阅the documentation了解其工作原理
答案 1 :(得分:2)
您定义了主要功能,但您从不称呼它。
将main()
添加到代码的末尾。
然后运行但有错误,修复错误,将main()
功能更改为
def main()
euro = int(input("Type in your EURO ammount: \n"))
cent = int(input("Type in your CENT ammount: \n"))
x = Money(euro, cent)
print (x)
完整的工作代码:
class Money (object):
def __init__ (self, euro, cent):
self.euro = euro
self.cent = cent
def __str__ (self):
if self.cent >= 100:
r = self.cent / 100
self.cent = self.cent % 100
self.euro = self.euro + r
return ("%d EUR & %d cents") % (self.euro, self.cent)
else:
return ("%d EUR & %d cents") % (self.euro, self.cent)
def changeCent (self):
#100 c = 1 E
cents = self.euro * 100
self.cent = self.cent + cents
return self.cent
def changeSum (self, euros):
#1 E = 100 c
euros = self.cent / 100
self.euro = self.euro + euros
return self.euro
def debt (self, years, rate):
value = Money()
multiply = rate * years * 12 / 100
value.euro = self.euro * multiply
value.cent = self.cent * multiply
if value.cent > 100:
euro_ = value.cent / 100
value.cent = value.cent - 100
value.euro = value.euro + euro_
return value
def main():
euro = int(input("Type in your EURO ammount: \n"))
cent = int(input("Type in your CENT ammount: \n"))
x = Money(euro, cent)
print (x)
main()
答案 2 :(得分:2)
获得结果的pythonic方法是在文件中添加以下行:
if __name__=='__main__':
main()
它会检查您是否将脚本作为主脚本调用。 目前您只定义函数main,但您从不调用它。
答案 3 :(得分:1)
您应该运行main()函数
答案 4 :(得分:0)
执行底部的函数类型main()
。除了调用函数之外,你几乎做了所有事情。
还有一个错误
你的构造函数
def __init__ (self, euro, cent):
需要两个参数。你没有传递任何价值。
将此更改修复为:
def __init__ (self, euro=0, cent=0):
为euro
和cent