我正在尝试运行以下程序,但是在运行时出现“ NameError:未定义名称“年龄””

this is code snippet help me out pls i am new to programming

class person():
        def __init__(self,initialAge):
            self.age = 0
            #self.initialAge = 0

            if(initialAge < 0):
                print("Age is not valid")
            else:
                self.age = initialAge

        def amiold(self):
            if(age < 13):
                print("You are young")
            elif(age >= 13 and age < 18):
                print("You are teenage")
            else:
                print("You are old")

        def yearPasses(self):
            global age
            age += 1

伙计,这是图像链接,请检查以获取更多说明

yangxiong9852 回答:我正在尝试运行以下程序,但是在运行时出现“ NameError:未定义名称“年龄””

此方法:

def yearPasses(self):
    global age
    age += 1

应该通过age访问self属性,因为它是实例属性,而不是全局变量:

def yearPasses(self):
    self.age += 1

您还需要在amIold方法中使用相同的方式:

def amIold(self):
    if(self.age < 13):
        print("You are young")
    elif(self.age >= 13 and self.age < 18):
        print("You are teenage")
    else:
        print("You are old")

此外,无需在if语句if age < 13:上使用括号。

本文链接:https://www.f2er.com/3101819.html

大家都在问