【发布时间】:2018-10-08 04:50:04
【问题描述】:
这完全按照我的意愿工作,除了当用户输入无效选项时我无法让它停止。这是一个石头剪刀布游戏,它不仅记录用户的输入,而且保留当前回合的得分,并保留所有回合的最终得分,直到游戏结束......就像现在一样,永远不会发生。当用户输入无效选项时,我该如何结束这个游戏?我尝试使用break,但它无效。
def rock_paper_scissors():
playerScore = 0
computerScore = 0
print("")
player = input("Choose Rock, Paper, or Scissors: ")
player = player.lower()
choices = ["rock", "paper", "scissors"]
computer = random.choice(choices)
if player == computer:
print("I chose " + str(computer) + " and you chose " + player + ". It's a tie!")
elif player == "rock" and computer == "scissors":
playerScore += 1
print("I chose " + str(computer) + " and you chose " + player + ". Congratulations! You won! " + player + " beats " + str(computer) + ".")
elif player == "paper" and computer == "rock":
playerScore += 1
print("I chose " + str(computer) + " and you chose " + player + ". Congratulations! You won! " + player + " beats " + str(computer) + ".")
elif player == "scissors" and computer == "paper":
playerScore += 1
print("I chose " + str(computer) + " and you chose " + player + ". Congratulations! You won! " + player + " beats " + str(computer) + ".")
elif computer == "rock" and player == "scissors":
computerScore += 1
print("I chose " + str(computer) + " and you chose " + player + ". You lost! " + str(computer) + " beats " + player + ".")
elif computer == "paper" and player == "rock":
computerScore += 1
print("I chose " + str(computer) + " and you chose " + player + ". You lost! " + str(computer) + " beats " + player + ".")
elif computer == "scissors" and player == "paper":
computerScore += 1
print("I chose " + str(computer) + " and you chose " + player + ". You lost! " + str(computer) + " beats " + player + ".")
else:
print("Sorry, but you entered an invalid option. The game has ended. See below for the final score. Thank you for playing")
print("")
print("Your score:", str(playerScore) + ", Computer score:", str(computerScore))
return playerScore, computerScore
playerFinal = 0
computerFinal = 0
while True:
player, computer = rock_paper_scissors()
playerFinal += player
computerFinal += computer
print("Your score:", str(playerFinal) + ", Computer score:", computerFinal)
【问题讨论】:
标签: python function loops if-statement break