您的代码的问题是您将逗号与“paper”字符串放在一起,而不是放在字符串之后。因为 paper 和 scissors 之间没有逗号,所以计算机将它们解释为一个元素,这意味着列表的长度是 2,而不是 3。这是完整的代码。我希望它有帮助:
from random import choice
# getting input from the user
user_choice = input("Rock, paper or scissors? ").lower()
# printing an error message and quiting the program if the input is invalid
if user_choice != "rock" and user_choice != "paper" and user_choice != "scissors":
print("Error! Invalid answer!")
quit()
# generating the computer's choice
options = ["rock", "paper", "scissors"]
computer_choice = choice(options)
print("The computer chose", computer_choice)
# checking all of the possible options and declaring who the winner is
if user_choice == computer_choice:
print("You both chose", computer_choice, "therefore it's a tie!")
elif user_choice == "rock" and computer_choice == "paper":
print("Paper beats rock, therefore the computer won!")
elif user_choice == "paper" and computer_choice == "rock":
print("Paper beats rock, therefore you won!")
elif user_choice == "rock" and computer_choice == "scissors":
print("Rock beats scissors, therefore you won!")
elif user_choice == "scissors" and computer_choice == "rock":
print("Rock beats scissors, therefore the computer won!")
elif user_choice == "paper" and computer_choice == "scissors":
print("Scissors beats paper, therefore the computer won!")
elif user_choice == "scissors" and computer_choice == "paper":
print("Scissors beats paper, therefore you won!")