Python 为什么我的while循环没有在其中输入if语句?

Python 为什么我的while循环没有在其中输入if语句?,python,if-statement,while-loop,Python,If Statement,While Loop,石头剪刀2号 我正在尝试制作一个石头剪子游戏,目前为止我有: from random import randint print("Rock...") print("Paper...") print("Scissors...") player_wins = 0 computer_wins = 0 while player_wins < 3 and computer_wins < 3: print(f"{c

石头剪刀2号

我正在尝试制作一个石头剪子游戏,目前为止我有:

from random import randint
print("Rock...")
print("Paper...")
print("Scissors...")

player_wins = 0
computer_wins = 0

while player_wins < 3 and computer_wins < 3:
    print(f"{computer_wins} to {player_wins}")

    player1 = input("Player 1, make your move: ").lower()
    computer_choices = ["rock", "paper", "scissors"]
    computer_choice = randint(0, 2)
    computer = [computer_choices[computer_choice]]
    print(computer)

    if player1 == computer:
        print("It's a tie!")

    elif player1 == "rock":
        if computer == "scissors":
            print("player1 wins!")
            player_wins += 1
        elif computer == "paper":
            print("computer wins!")
            computer_wins += 1

    elif player1 == "paper":
        if computer == "rock":
            print("player1 wins!")
            player_wins += 1
        elif computer == "scissors":
            print("computer wins!")
            computer_wins += 1

    elif player1 == "scissors":
        if computer == "rock":
            print("computer wins!")
            computer_wins += 1
        if computer == "paper":
            print("player1 wins!")
            player_wins += 1
    else:
        print("something went wrong")
来自随机导入randint
打印(“岩石…”)
打印(“纸张…”)
打印(“剪刀…”)
玩家赢=0
计算机wins=0
当玩家赢<3,计算机赢<3时:
打印(f“{computer\u wins}到{player\u wins}”)
player1=输入(“玩家1,移动:”).lower()
计算机选项=[“石头”、“布”、“剪刀”]
计算机选择=randint(0,2)
计算机=[计算机选择[计算机选择]]
打印(计算机)
如果player1==计算机:
打印(“这是一条领带!”)
elif player1==“摇滚乐”:
如果计算机==“剪刀”:
打印(“玩家1获胜!”)
玩家赢+=1
elif计算机==“纸张”:
打印(“计算机获胜!”)
计算机wins+=1
elif player1==“纸张”:
如果计算机==“岩石”:
打印(“玩家1获胜!”)
玩家赢+=1
elif计算机==“剪刀”:
打印(“计算机获胜!”)
计算机wins+=1
elif player1==“剪刀”:
如果计算机==“岩石”:
打印(“计算机获胜!”)
计算机wins+=1
如果计算机==“纸张”:
打印(“玩家1获胜!”)
玩家赢+=1
其他:
打印(“出了问题”)
基本上,我想做的是让它接受一个输入,选择一个随机选择,然后比较选择。我有前两部分,它选择一个选项并接受输入,但它不在while循环中输入if语句。它只是一直持续下去


我在这里做错了什么?

计算机选项总是一个列表,而您正在将其与字符串进行比较

更改此行:

computer = [computer_choices[computer_choice]]  # list with one string item
为此:

computer = computer_choices[computer_choice]  # string
此更改使游戏正常运行