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