gpt4 book ai didi

python - 赋值前引用的局部变量 "age"

转载 作者:太空宇宙 更新时间:2023-11-04 08:04:00 26 4
gpt4 key购买 nike

<分区>

我最近开始学习python。我正在解决一个问题。

class Person:
age = 0
def __init__(self,initial_Age):
if initial_Age<0:
age=0
print("This person is not valid, setting age to 0.")
else:
age = initial_Age

def amIOld(self):
if(age<13):
print("You are young.")
elif(age>=13 and age<18):
print("You are a teenager.")
else:
print("You are old.")
def yearPasses(self):
age = age + 1
T=int(input())
for i in range(0,T):
age=int(input())
p=Person(age)
p.amIOld()
for j in range(0,3):
p.yearPasses();
p.amIOld();
print ("")

我得到的错误显示如下:

Traceback (most recent call last):
File "solution.py", line 27, in <module>
p.yearPasses();
File "solution.py", line 19, in yearPasses
age = age + 1
UnboundLocalError: local variable 'age' referenced before assignment

输入如下:

4(Number of test cases)
-1
10
16
18

输出必须是这样的:

This person is not valid, setting age to 0.
You are young.
You are young.

You are young.
You are a teenager.

You are a teenager.
You are old.

You are old.
You are old.

你能指导我做错什么吗?。谢谢

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com