摇滚,纸,剪刀 Python

我正在尝试构建一个石头、纸、剪刀游戏。我似乎无法让代码进行锻炼,因为无论我做出什么选择,赢家总是电脑!我的电脑有偏见吗?感谢您的帮助 !


import random


comp_list = ['Rock', 'Paper', 'Scissors']

computer = c  = 0

command = p = 0


print("Scores: Computer " + str(c) + " player " + str(p))


while True:

    comp = random.choice(comp_list)

    command = input("rock , paper, scissors or quit :").lower()


    if command == comp :

        print("break even")

    elif command == "rock":

        if comp == "scissors":

            print("player won")

            p += 1

        else:

            print("computer won")

            c +=1

    elif command == "paper":

        if comp == "rock":

            print("player won")

            p += 1

        else :

            print("computer won")

            c += 1

    elif command == "scissors":

        if comp == "paper":

            print("player won")

            p += 1

        else :

            print("computer won")

            c += 1

    elif command == "quit":

        break

    else :

        print("wrong command! ")



    print("Player: " + command)

    print("computer: " + comp)

    print("")

    print("Scores: Computer " + str(c) + " player " + str(p))

    print("")


紫衣仙女
浏览 92回答 1
1回答

蝴蝶刀刀

您的计算机总是生成一个大写字符串 exRock你的输入总是小写的rock在 python 字符串情况下很重要,所以当你比较时if command == comp:这是比较"Rock" == "rock" # -> which is false您可以通过对字符串使用全部小写来修复您的代码。只需将顶部的数组更改为全部小写即可['rock', 'paper', 'scissors']
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python