Python 为什么我的方法获胜';t在类中运行时没有错误消息
我正在运行《Hello World!第三版:儿童和其他初学者的计算机编程》一书中的一个示例,遇到了以下问题Python 为什么我的方法获胜';t在类中运行时没有错误消息,python,Python,我正在运行《Hello World!第三版:儿童和其他初学者的计算机编程》一书中的一个示例,遇到了以下问题 class HotDog: def __init__ (self): self.cooked_level = 0 self.cooked_string = "Raw" self.condiments = [] def cook(self, time): if self.cooke
class HotDog:
def __init__ (self):
self.cooked_level = 0
self.cooked_string = "Raw"
self.condiments = []
def cook(self, time):
if self.cooked_level > 8:
self.cooked_string = "Charcoal"
elif self.cooked_level > 5:
self.cooked_string = "Well-done"
elif self.cooked_level > 3:
self.cooked_string = "Medium"
else:
self.cooked_string = "Raw"
myDog = HotDog()
print(myDog.cooked_level)
print(myDog.cooked_string)
print(myDog.condiments)
print("Now I'm going to cook the hot dog")
myDog.cook(4)
print(myDog.cooked_level)
print(myDog.cooked_string)
当我运行脚本时,我得到的是:
0
Raw
[]
Now I'm going to cook the hot dog
0
Raw
因此,myDog.cook(4)
没有运行,我也没有收到错误消息。
我想知道这个剧本的哪一部分出错了
谢谢 您只需在
cook()
方法中更新您的self.cooked\u级别
class HotDog:
...
...
def cook(self, time):
self.cooked_level += time #<--- only add this line
if self.cooked_level > 8:
self.cooked_string = "Charcoal"
...
...
class热狗:
...
...
def cook(自我,时间):
自煮#U级别+=时间#8:
自制的_string=“木炭”
...
...
你在传递时间,但没有在方法cook
中使用它。cook()中的任何点都不考虑时间。在检查cook方法是否正确运行之前,可以尝试使用时间更新cook_级别,但它什么也不做。再看一次;)Maybee在方法开始时添加self.cooked_level+=时间