所以,我在python中製作這個遊戲。事情是,在剪刀,紙和搖滾中,可以有不同的組合。例如,岩石和紙,岩石和剪刀等等。那麼,如何做到這一點,而不用做一堆elif語句。Python - 剪刀,紙和搖滾遊戲
import random
random_choice = ["Scissors", "Paper", "Rock"][random.randint(0, 2)]
player_input = raw_input("What's your choice (Scissors, Paper, or Rock)")
if player_input not in ["Scissors", "Paper", "Rock"]:
print("Not valid choice")
raw_input()
exit()
if player_input == random_choice:
print("You both choose %s" % random_choice)
elif player_input == "Rock" and random_choice == "Scissors":
print("You picked Rock and the bot picked Scissors, you win!")
raw_input()
#And so on making heaps of elif's for all the combinations there can be.
那麼我們如何讓這個遊戲不需要做很多elif語句或輸入更少的代碼。當然,處理這些類型的事情必須有一個更好的編程序列?
'如果「剪刀」或「紙」或「搖滾」不player_input'贏得」不要做你期望的事情。 – Tim 2014-10-09 07:28:36
你首先警惕流氓用戶輸入將立即返回'剪刀',你可能想'player_input'不在['Scissors'中]。我也會把它封裝在一個循環中,所以當*用戶一直給你垃圾輸入時,你一直在問你想要什麼(現在,如果'if'是正確的),你只問兩次。 – 2014-10-09 07:28:59
我一直在SO上一遍又一遍地看到這個問題。我已經回答了過去,但只是發現刪除的問題,但現在不知道它是否是直接從編程任務 – Spade 2014-10-09 07:39:58