用于RPSLS的Python编码

时间:2012-10-17 02:30:54

标签: python

总体编程新手试图学习python。我为在线免费课程编写了一个RPSLS代码,无法理解为什么计算机无论如何都会说“PLAYER WINS”。电脑正在改变,但是玩家不是......即使有平局,玩家也会“获胜”。

有人能指出我正确的方向 - 这是代码链接吗?我尝试了一切,没有任何作用。提前致谢!这让我发疯了。

http://www.codeskulptor.org/#user2-WEFezkBMoi-3.py

1 个答案:

答案 0 :(得分:2)

Python读起来不像英语:

if mod == 3 or 4:

这被解释为:

if (mod == 3) or (4):

由于您在or 4条件下if,即使mod不是3or 4也会使条件始终为True因为4是真实的。

要解决此问题,只需使用列表或元组,然后检查mod是否是该对象的成员:

if mod in [3, 4]:
if mod in (3, 4):