Python 为什么我的方法获胜';t在类中运行时没有错误消息

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

我正在运行《Hello World!第三版:儿童和其他初学者的计算机编程》一书中的一个示例,遇到了以下问题

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+=时间