我正在编写代码来模拟x个掷骰子游戏,并且我编写了一些代码,这些代码可能会也可能不起作用。我还不确定但是我无法检查,因为当我完成编辑模块时,语法错误通知我我的代码没有意义。事情是,我觉得我之前已经使用过这种语法数百次了。错误消息为
File "<ipython-input-5-9e8dfc269e5b>", line 7
if roll=7 or roll=11:
^
SyntaxError: invalid syntax
它不喜欢等号吗?我不明白为什么python不能读这个。怎么了? 这里是模拟的所有代码,如果它有帮助
def crap(x):
from random import randint
win=0
loss=0
for i in range(x):
roll=rand(2,12)
if roll = 7 or roll = 11:
win=win+1
elif roll = 2 or roll = 3 or roll = 12:
loss=loss+1
elif roll=4 or roll=5 or roll=6 or roll=8 or roll=9 or roll=10:
rolln=randint(2,12)
while rolln =! 7 or rolln =! roll:
rolln=randint(2,12)
if rolln = 7:
loss=loss+1
elif rolln = roll:
win=win+1
答案 0 :(得分:3)
=
是一个assignement运算符,你不能在if-elif条件下使用它。使用==
进行相等性检查。
if roll == 7 or roll == 11:
其次,您还可以减少以下表达式:
elif roll==4 or roll==5 or roll==6 or roll==8 or roll==9 or roll==10:
为:
elif roll in (4, 5, 6, 8, 9 ,10):
答案 1 :(得分:2)
=
用于为变量赋值。由于您正在尝试测试相等性,因此您应该使用==
,例如
if roll == 7