不接受Python If子句(语法)

时间:2019-04-25 11:01:16

标签: python syntax

我有一个非常简单的if子句。我尝试了所有操作,但仍然输出语法错误。

if(NOT((element.find('@') > 0) OR (element.isDigit) OR (element.find("REMINDER") > 0))):
      doStuff()

现在您可以看到,它是带有3个参数的议定子句,与OR相连。我检查了参数,它们似乎起作用了。有什么想法吗?

2 个答案:

答案 0 :(得分:3)

Python区分大小写(不需要太多的括号)。试试:

if not (element.find('@') > 0 or element.isDigit or element.find("REMINDER") > 0):

答案 1 :(得分:0)

python布尔运算符区分大小写,如您在本节中所见 the docs

在这种情况下,您需要将NOTOR的小写形式(notor)替换为您的条件才能正常工作。

此外,您可以删除一些括号,条件仍然适用。您的括号是正确的,但是您也可以这样写,并得到相同的结果(用更少的字符,在我看来,这种情况下可读性更高):

if not (element.find('@') > 0 or element.isDigit or element.find("REMINDER") > 0):
    doStuff()