石头、布、剪刀——错了

2024-10-03 04:31:20 发布

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

我正在学习python,我试着做一个石头剪刀布游戏。我在这里被一个问题困住了。我不知道如何修理它。所以问题是,当我输入“paper”和“ranval”变量选项2(剪刀)时,我仍然获胜。非常感谢您抽出时间。代码如下:

import random
while True: # 0 rock, 1 paper, 2 scissors
    while True:
        rps = [0, 1, 2]
        ranval = random.choice(rps)
        choice = str(input("(r)ock, (p)aper or (s)cissors?"))

    if choice.lower() == "r" or "rock":

        if ranval == 0:
            print("TIE!", ranval)
            break
        elif ranval == 1:
            print("YOU LOST!", ranval)
            break
        elif ranval == 2:
            print("YOU WON!", ranval)
            break

    if choice.lower() == "p" or "paper":

        if ranval == 0:
            print("YOU WON!", ranval)
            break
        elif ranval == 1:
            print("TIE!", ranval)
            break
        elif ranval == 2:
            print("YOU LOST!", ranval)
            break

    if choice.lower() == "s" or "scissors":
        if ranval == 0:
            print("YOU LOST!", ranval)
            break
        elif ranval == 1:
            print("YOU WON!", ranval)
            break
        elif ranval == 2:
            print("TIE!", ranval)
            break

    if choice.lower() == "e" or "exit":
        exit()

Tags: oryouifrandomlowerpaperprintlost
1条回答
网友
1楼 · 发布于 2024-10-03 04:31:20

if choice.lower() == "r" or == "rock":

if choice.lower() == "r" or choice.lower() == "rock":

它们是不同的

让你的if语句看起来像那样

if choice.lower() == "r" or choice.lower() == "rock":

相关问题 更多 >