I have a program that gets user's input and then asks whether the information is correct or not. However, when the user has finished entering information, I get an error with this code:
#Welcome
print("Welcome to the game!\n")
def data():
    #Age
    age = int(input("Enter your age: "))
    #Gender
    gen = input("Enter your gender: ")
    #email
    mail = input("Enter your email: ")
    #username
    name = input("Enter your name: ")
    return (age, gen, mail, name)
def datacheck():
    print("Your information:\n")
    print("Age: ", age, "\n")
    print("Gender: ", gen, "\n")
    print("Email: ", mail, "\n")
    print("Username: ", name, "\n")
    yn = input("Is it correct? Yes or No: ")
    if yn == "Yes":
        print("Hello, ", name)
    if yn == "No":
        data()
        #Array to variables
        age = data[0]
        gen = data[1]
        mail = data[2]
        name = data[3]
        #datacheck
        datacheck()
data = data()
#Array to Variable.
age = data[0]
gen = data[1]
mail = data[2]
name = data[3]
#datacheck
datacheck()
The error I get is:
Traceback (most recent call last): File "/Users/joe/Documents/test123.py", line 48, in datacheck() File "/Users/joe/Documents/test123.py", line 20, in datacheck print("Age: ", age, "\n") UnboundLocalError: local variable 'age' referenced before assignment
There is no error if I type but the re-entering of info doesn't work:
#Welcome
print("Welcome to the game!\n")
def data():
    #Age
    age = int(input("Enter your age: "))
    #Gender
    gen = input("Enter your gender: ")
    #email
    mail = input("Enter your email: ")
    #username
    name = input("Enter your name: ")
    return (age, gen, mail, name)
def datacheck():
    print("Your information:\n")
    print("Age: ", age, "\n")
    print("Gender: ", gen, "\n")
    print("Email: ", mail, "\n")
    print("Username: ", name, "\n")
    yn = input("Is it correct? Yes or No: ")
    if yn == "Yes":
        print("Hello, ", name)
    if yn == "No":
        data()
        #datacheck
        datacheck()
data = data()
#Array to Variable.
age = data[0]
gen = data[1]
mail = data[2]
name = data[3]
#datacheck
datacheck()
How would I get it so that the user can re-enter their information (data function)?
 
     
     
     
     
     
    