[英]How to fix my if, elif, else statement in python?
我正在開發一個有趣的模擬器,它詢問您的年齡,年齡是否足夠大,詢問您是否有kik。 如果您的年齡在16歲或以上,則效果很好,但是如果您說的話少了,就會出現錯誤。 這是代碼:
age = input("age?\n")
if age == "1":
print ("Too young bby")
elif age == "2":
print ("Too young bby")
elif age == "3":
print ("Too young bby")
elif age == "4":
print ("Too young bby")
elif age == "5":
print ("Too young bby")
elif age == "6":
print ("Too young bby")
elif age == "7":
print ("Too young bby")
elif age == "8":
print ("Too young bby")
elif age == "9":
print ("Too young bby")
elif age == "10":
print ("Too young bby")
elif age == "11":
print ("Too young bby")
elif age == "12":
print ("Too young bby")
elif age == "13":
print ("Too young bby")
elif age == "14":
print ("Too young bby")
elif age == "15":
print ("Too young bby")
else:
kik = input("Do you have kik?\n")
yes = "yes"
if kik == yes:
print ("add me bby")
else:
print ("bye")
出現的錯誤是:
Traceback (most recent call last):
File "C:/Users/Public/Documents/python/omegle.py", line 36, in <module>
if kik == yes:
NameError: name 'kik' is not defined
有誰知道如何修理它?
您需要在此處解決幾件事。 首先,使用int()
將年齡存儲為數字:
age = int(input("age?\n"))
然后執行以下操作:
if(age < 16):
print ("Too young bby")
else:
kik = input("Do you have kik?\n")
if kik == "yes":
print ("add me bby")
else:
print ("bye")
問題是您僅在此塊中設置了kik
:
else:
kik = input("Do you have kik?\n")
如果未達到此阻止,則kik
不存在。 一個選項是在if / elif塊之前設置它。
此外,您可以將其縮短:
kik = "no"
age = input("age?\n")
if int(age) < 16:
print ("Too young bby")
else:
kik = input("Do you have kik?\n")
yes = "yes"
if kik == yes:
print ("add me bby")
else:
print ("bye")
將kik
設置為默認值,它應該在您的鏈之外。
age = input("age?\n")
kik = "no" #assuming no is default
...
就像在您的代碼中一樣,僅當您單擊else
時才定義它
簡短的答案是, kik
不在范圍內,將kik = "no"
放在程序的開頭應該可以消除該錯誤。
但是,這是完成整件事的更好方法:
age = int(input("age?\n"))
kik = "no"
if age < 16:
print ("Too young bby")
else:
kik = input("Do you have kik?\n")
if kik == yes:
print ("add me bby")
else:
print ("bye")
安迪的帖子對我很有幫助。 我要補充一件事。 如果在第一個問題中輸入小於16的整數,則將同時顯示打印(“ Too young bby”)和“打印”(再見)。 第一個輸出僅夠我使用,不能打印(“再見”)。 為此,您可以將第二個“ if”語句縮進第一個“ else”語句。 如果您不縮進我的代碼,則會得到“您沒有資格在愛爾蘭投票”。 兩次。 這是我的例子;
Citizen = "No"
Yes = "Yes"
Age = int(input("What is your age?: \n"))
if (Age) < 18:
print("You are not eligible to vote in Ireland.\n")
else:
Citizen = input("Do you hold Irish Citizenship? Yes/No: \n")
if Citizen == Yes:
print("You are eligible to vote in Ireland.\n")
else:
print("You are not eligible to vote in Ireland.\n")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.