I recently started learning python. And im working on a problem.
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 ("") 
The error I get is displayed below:
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
The Input for this goes like:
4(Number of test cases)
-1
10
16
18
The output has to be something like this:
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.
Can you please guide me to what Im doing wrong?. Thanks
 
     
    