def RPS():
userRPS = input("Rock, paper, or scissors? ")
RPSlist = ["rock", "paper", "scissors"]
computerRPS = RPSlist[randint(1,3)]
print("\nI chose " + computerRPS + ", and you chose " + userRPS)
elif userRPS == "scissors":
if computerRPS == "rock":
print("You lose.")
elif computerRPS == "paper":
print("You win.")
elif computerRPS == "scissors":
print("I chose scissors too. Go again.")
RPS()
else:
print("?")
RPS()
所以,如果我讓else語句運行,它會打印出列表索引超出範圍。如果用戶和隨機生成器選擇相同的事情,也會發生同樣的情況。我試圖學習如何解決這個問題,但我真的不明白任何解釋。Python:列表索引超出範圍。我不知道如何解決這個問題
您能否添加錯誤信息的完整副本?錯誤信息應該告訴你我們應該深入研究哪些線...... – albert
此外,這段代碼有語法錯誤...它不會運行。第一個「elif」應該是「if」 –
將'randint(1,3)'改爲'randint(0,2)';提醒列表是零索引,所以大小爲3的列表有索引0-2 –