我被指派用 Python 开发一个剪刀石头布游戏,并进行一些修改。然而,我对编程很陌生,除非用户输入“q”,否则我不知道如何无限循环程序。我的总体想法是我必须使用 while 循环,但是我不知道该把它放在哪里。
这里附上剪刀石头布游戏正常运行的代码,无需尝试无限循环,打破程序中的循环。我尝试在 while 循环后修改代码的缩进,并得到了不同的结果,其中大多数只是破坏了程序。
import random
def play():
user_option = input("'r for rock:', 'p for paper:', or 's for scissors: or q to quit':")
cpu = random.choice(['r', 's', 'p'])
#while user_option != 'y':
if user_option == cpu:
return("You tie!")
if win(user_option, cpu):
return("You won!")
return "You lost!"
def win(player, computerOpponent):
if (player == 'r' and computerOpponent == 's') or (player == 's' and computerOpponent == 'p') or (player == 'p' and computerOpponent == 'r'):
return True
print(play())
如果你想让游戏自动开始新一轮而不询问玩家是否想再玩一次,你可以删除要求玩家输入的代码部分,只需让游戏在每轮结束后循环回到开头。这是一种方法:
while True:
# Get player input
player1 = input("Player 1, make your move (rock, paper, scissors): ")
player2 = input("Player 2, make your move (rock, paper, scissors): ")
# Determine the winner
if player1 == player2:
print("It's a tie!")
elif player1 == "rock" and player2 == "scissors":
print("Player 1 wins!")
elif player1 == "paper" and player2 == "rock":
print("Player 1 wins!")
elif player1 == "scissors" and player2 == "paper":
print("Player 1 wins!")
else:
print("Player 2 wins!")
# Start a new round automatically
print("Starting a new round...")
如何制作播放器2电脑???