【发布时间】:2015-06-30 08:34:52
【问题描述】:
我有一个程序可以获取用户的输入,然后询问信息是否正确。但是,当用户完成输入信息时,我收到以下代码错误:
#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(最近一次调用最后一次):文件 “/Users/joe/Documents/test123.py”,第 48 行,在 datacheck() 文件“/Users/joe/Documents/test123.py”,第 20 行,在 datacheck print("Age: ", age, "\n") UnboundLocalError: 赋值前引用了局部变量'age'
如果我输入没有错误但重新输入信息不起作用:
#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()
我如何获得它以便用户可以重新输入他们的信息(数据功能)?
【问题讨论】:
标签: python