因此,当我尝试运行这个函数时,第二个if语句的语法无效,突出显示了冒号。我不明白为什么会这样,据我所知,它们基本上是一样的。那么为什么第二个if语句返回无效语法,而第一个却没有呢?在
for event in pygame.event.get():
if event.type == MOUSEBUTTONDOWN :
if ROption1Exists == True:
rx, ry = event.pos
if rx >= (100*((X+3)+1)) and rx <= (100*((X+3)+2)) and ry >= (100*(Y+1)) and ry <= (100*(Y+2)):
print('babies')
VarReset()
Pos = ((X+3), Y)
if ROption2Exists == True:
rx, ry = event.pos
if rx >= (100*((X-3)+1)) and rx <= (100*((X-3)+2)) and ry >= (100*((Y+1)) and ry <= (100*(Y+2)):
print('babies')
VarReset()
Pos = ((X-3), Y)
您有一个括号平衡问题:
你有一个左括号太多,或一个右括号太少。在
你可以把所有的括号都删减一点,以下就足够了:
^{pr2}$您可以chain the comparison operators:
其中}只计算一次;您所要做的就是通过交换操作数来反转{}运算符。在
100*(X-1) >= rx >= 100*(X-2)
在逻辑上与100*(X-1) >= rx and rx >= 100*(X-2)
相同,但是{请注意,
True
的相等性测试很少需要;只需从if
语句中删除== True
:你少了一个括号:
相关问题 更多 >
编程相关推荐