-1

尝试学习python的总编程新手。我为在线免费课程编写了 RPSLS 代码,但无论如何都无法理解为什么计算机会显示“PLAYER WINS”。电脑正在改变,但玩家没有改变……即使打成平局,玩家也会“获胜”。

有人可以指出我正确的方向 - 这是代码链接吗?我已经尝试了一切,但没有任何效果。提前致谢!这真让我抓狂。

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

4

1 回答 1

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):
于 2012-10-17T02:38:56.313 回答