Python 中的无限循环石头剪刀布游戏

问题描述 投票:0回答:2

我被指派用 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())  

python loops while-loop user-input
2个回答
0
投票

如果你想让游戏自动开始新一轮而不询问玩家是否想再玩一次,你可以删除要求玩家输入的代码部分,只需让游戏在每轮结束后循环回到开头。这是一种方法:

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...")

0
投票

如何制作播放器2电脑???

© www.soinside.com 2019 - 2024. All rights reserved.