我有一個程序獲取用戶的輸入,然後詢問信息是否正確。但是,當用戶輸入信息後,我得到一個錯誤與此代碼: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