在单个if语句中是否有“and”和“or”?

2024-06-25 06:34:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试在一个if语句中同时使用andor,但似乎没有正常工作。我试着让and在or前面和后面(所以if ... or ... and ...if ... and ... or ...),两者似乎都不能正常工作

# entryIndex is an int that increases by one every time in a for loop
if entryIndex % 11 == 0 or entryIndex == 0 and entryValue == '':
    # This should check if entryIndex == 0 or it has a remainder of 0 AND if entryValue is equal to ''
    ...
else:
    ...

所以我不得不把它分成两张支票

if entryIndex % 11 == 0 or entryIndex == 0:
    if entryValue == '':
        ...
else:
    ...

Tags: orandanbyifthatis语句
1条回答
网友
1楼 · 发布于 2024-06-25 06:34:46

正如Yves Daoust所建议的,使用括号:

if entryValue == '' and (entryIndex % 11 == 0 or entryIndex == 0):
    # ...
else:
    # ...

应该有用

顺便说一下,在您的特殊情况下,这可以简化为:

if entryValue == '' and entryIndex % 11 == 0:
    # ...
else:
    # ...

因为如果entryIndex等于0,那么entryIndex也可以被11整除

相关问题 更多 >