在石头、布、剪刀中实现while循环

2024-09-30 16:27:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我对编码非常陌生,所以不要介意婴儿代码。我设法设置了一个简单的RPS游戏,但是,对于我的任务,我需要使用一个无限循环,以便在用户出错时让程序再次请求输入。例如,如果输入'roc'或'scisor'。我无法确定在何处输入while循环,以使其再次请求输入。以下是我到目前为止的情况:

player=input('rock. paper. or scissors?:')
computer_options= ['rock', 'paper', 'scissors']
computer=random.choice(computer_options)

if player==computer:
    print('draw')
elif player=='rock':
if computer=='scissors':
    print('you win')
else:
    print('you lose')
elif player=='paper':
if computer=='scissors':
    print('you lose')
else:
    print('you win')


while player != computer:
print('you picked the wrong option')
break

2条回答

您可以使用此代码

computer_options= ['rock', 'paper', 'scissors']
computer=random.choice(computer_options)

while True:
    player=input('rock. paper. or scissors?:')
    if player.lower() == "rock" or player.lower() == "paper" or player.lower() == "scissors":
        if player==computer:
            print('draw')
        elif player=='rock':
            if computer=='scissors':
                print('you win')
            else:
                print('you lose')
        elif player=='paper':
            if computer=='scissors':
                print('you lose')
            else:
                print('you win')
    else:
        print("you did a mistake, select again between rock, paper or scissors")
        continue

我创建了一个无限while循环。你需要在这个循环中插入变量player来玩游戏,然后我插入了条件if player.lower() == "rock" or player.lower() == "paper" or player.lower() == "scissors":,这意味着如果你写对了单词,游戏就开始了,否则你会收到消息“你犯了一个错误,再次选择石头、布或剪刀”。然后,单词continue再次启动循环,您必须为变量player添加一个新值

如果您需要更多帮助,请告诉我,例如添加退出游戏的可能性或其他任何内容

while放在外部,并将break放在循环内的if块中:

while True:
    player=input('rock. paper. or scissors?:')
    computer_options= ['rock', 'paper', 'scissors']
    computer=random.choice(computer_options)

    if player==computer:
        print('draw')
    elif player=='rock':
        if computer=='scissors':
            print('you win')
        else:
            print('you lose')
    elif player=='paper':
        if computer=='scissors':
            print('you lose')
        else:
            print('you win')


    if player != computer:
        print('you picked the wrong option')
        break

相关问题 更多 >