总体编程新手试图学习python。我为在线免费课程编写了一个RPSLS代码,无法理解为什么计算机无论如何都会说“PLAYER WINS”。电脑正在改变,但是玩家不是......即使有平局,玩家也会“获胜”。
有人能指出我正确的方向 - 这是代码链接吗?我尝试了一切,没有任何作用。提前致谢!这让我发疯了。
答案 0 :(得分:2)
Python读起来不像英语:
if mod == 3 or 4:
这被解释为:
if (mod == 3) or (4):
由于您在or 4
条件下if
,即使mod
不是3
,or 4
也会使条件始终为True
因为4
是真实的。
要解决此问题,只需使用列表或元组,然后检查mod
是否是该对象的成员:
if mod in [3, 4]:
if mod in (3, 4):