我有一个程序获取用户的输入,然后询问信息是否正确。但是,当用户输入信息后,我得到一个错误与此代码:Python用户数据检查
#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()
我得到的错误是:
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
还有,如果我输入没有错误,但重新进入信息的不工作:
#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()
如何我会得到它,以便用户可以重新输入自己的信息(数据功能)?
时,答案是:“如果YN ==” _No_ – ForceBru
变化没有这不起作用“:”部分datacheck()datatck(年龄,gen,邮件,名称) – zinjaai
啊是的,谢谢你,我没有测试所有的用例。 – marsh