Python 石头、布、剪刀

Python 石头、布、剪刀,python,python-3.x,Python,Python 3.x,我正在尝试建立一个石头,布,剪刀的游戏。我似乎无法将代码用于训练,因为无论我做了什么选择,赢家总是电脑!我的电脑有偏见吗? 谢谢你的帮助 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.

我正在尝试建立一个石头,布,剪刀的游戏。我似乎无法将代码用于训练,因为无论我做了什么选择,赢家总是电脑!我的电脑有偏见吗? 谢谢你的帮助

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

您的计算机总是生成大写字符串

Rock
您的输入总是小写的

rock
在python中,字符串情况很重要,因此当您比较

if command == comp:
这是比较

"Rock" == "rock" # -> which is false
您可以通过对字符串使用所有小写字母来修复代码。只需将顶部的数组更改为所有小写即可

['rock', 'paper', 'scissors']

您可以将用户的输入用小写字母表示,但计算机的选择总是用大写字母表示的。进行更好的调试-打印您正在比较的内容。