3 回答

TA貢獻(xiàn)1982條經(jīng)驗(yàn) 獲得超2個(gè)贊
使用嵌套的“if else”語句,當(dāng)其中一個(gè)問題錯(cuò)誤時(shí)退出。就像這樣:
def main():
print("This program determines if a user is eligible to vote in the US\n")
q1 = str(input("Are you a US citizen? y/n: "))
if q1 == 'y':
q2 = int(input('What is your age?: '))
if q2 > 18:
q3 = str(input('Do you meet your states residency requirement? y/n: '))
if q3 == 'y':
print("\nYou are eligible to vote!")
else:
print("\nNot eligible to vote.")
exit()
else:
print("\nNot eligible to vote.")
exit()
else:
print("\nNot eligible to vote.")
exit()
main()

TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超11個(gè)贊
如果您以后不再需要問題的結(jié)果,您可以將 放入input條件中if并將它們與 鏈接起來and。這樣,input如果第一個(gè)條件已經(jīng)決定了條件的結(jié)果,則不會再次詢問第二個(gè)條件,第三個(gè)條件也是如此。
if (input("Are you a US citizen? y/n: ") == "y" and
int(input("What is your age?: ")) >= 18 and
input("Do you meet your state's residency requirement? y/n: ") == "y"):
print("\nYou are eligible to vote!")
else:
print("\nNot eligible to vote.")
您還可以將其與(...)或結(jié)合起來or以獲得更復(fù)雜的條件,盡管在某些時(shí)候使用嵌套if/else結(jié)構(gòu)可能會變得更具可讀性。

TA貢獻(xiàn)1858條經(jīng)驗(yàn) 獲得超8個(gè)贊
您必須在每條input
語句后檢查用戶的輸入。每次都可以使用 if-else 語句。如果答案錯(cuò)誤,打印一些內(nèi)容然后使用return
,函數(shù)中剩余的代碼main()
將不會被執(zhí)行。剩下的問題就不會問了。
添加回答
舉報(bào)