所以,我似乎有我的選擇4的問題。我想它回到主菜單,可以通過main()調用。 「是」顯然起作用,當輸入除「是」或「是」以外的任何內容時,都應將其返回到主菜單。在「否」或「hhh」中鍵入只是退出程序以及「是」/「是」。它也顯示了與「是」一樣的「謝謝演奏」的信息。我是Python的初學者,所以請忍受我在這裏。做,雖然,菜單選擇退出工作不正確
while endProgram == "Yes" or "yes":
#Selection menu, user input to navigate.
selection = eval(input("Your selection: "))
#Selection 1, rules.
if selection == 1:
rpsRules()
returnMain = input("\nWhen you would like to return to the Main Menu, press Enter.")
main()
#Selection 2, begin a match against the PC, calls againstPC module with choice as an argument.
elif selection == 2:
againstPC(choice)
#Selection 3, begin a match against another player locally, calls twoPlayer module.
elif selection == 3:
twoPlayer()
#Selection 4, end program, with an "Are you sure?" catch.
elif selection == 4:
endProgram = input("\nAre you sure you want to quit? (Yes/No) ")
if endProgram == "Yes" or "yes":
print("\nThanks for playing Rock, Paper, Scissors!\nSee you next time!")
break
elif endProgram == "No" or "no":
main()
else:
main()
elif selection == 5:
creatorCredits()
'endProgram ==「是」或「是」'始終是真實的,因爲你正在檢查'如果'是「','」是「'不是'假',你的程序永遠不會結束。 – user312016
你在選擇4中調用main()函數時是否有任何代碼?如果沒有,那可能是你的程序之後退出的原因。另外,你希望你的IF語句看起來像這樣:if endProgram ==「Yes」or endProgram ==「yes」除此之外,它不一定回答你的問題,但在你的第一個IF語句之後,看看字符串是「是」還是「是」,你可以只有一個人。無論他們輸入「否」還是「等等等等」都不重要,因爲您的ELIF和ELSE都會對main進行回調。 –
您需要將'x ==「a」或「b」'更改爲'x in(「a」,「b」)'來獲得所需的效果。否則,表達式將始終爲真,因爲它像「(x ==」a「)或」b「這樣的組合,這顯然總是成立的。 –