【问题标题】:Python "if" statement syntax errorPython“if”语句语法错误
【发布时间】:2012-06-25 09:38:48
【问题描述】:

我对自己遇到的错误感到困惑。

我的代码如下:

result = getString(argument_x)
print result # it returns "PASS"
if result ="PASS"

当我尝试启动它时,它在最后一行显示错误:

SyntaxError: invalid syntax

【问题讨论】:

    标签: python syntax if-statement


    【解决方案1】:

    相等性的比较是使用== 运算符完成的(您使用的是单个=,它仅用于赋值)。另外,您缺少一个冒号:

    if result == "PASS":
    

    【讨论】:

    • 天啊,就这样!!谢谢,我尝试了很多次......太愚蠢了。谢谢你,蒂姆。它有帮助。
    • Tim 指出了您代码中的错误,同时请确保您不要使用 'is' 关键字进行字符串比较。原因在这里:stackoverflow.com/questions/2987958/…
    • 谢谢,Devsundar。我会注意的。 :-) 祝你有美好的一天!
    【解决方案2】:

    许多 Python 结构,如 if、while 和 for,需要一个终止冒号 :,并且后面的行必须在同一级别缩进。

    缩进级别并不重要,因为与条件关联的所有语句都必须在同一级别缩进。

    在您的情况下,您使用的是 if 语句:

    result = getString(argument_x)
    print result # it returns "PASS"
    if result == "PASS":
      print("Result equals pass")
    #Add any other statements here to be executed as a result
    #of result == "PASS"
    

    【讨论】:

    • 对于谁标记了这个答案,如果你说你不喜欢我的答案,我会编辑和修复它。
    • 我想这可能与您的代码仍然抛出 SyntaxError 的事实有关。也可能是因为您混合使用了 Python 2 和 Python 3 语法(尽管这不是错误的原因)。
    • 这只是一个例子,所以我会去编辑不要抛出错误。谢谢。
    • if “year” == 2019: genre = 33 对我来说仍然失败:(
    • "year" 是一个字符串。与 2019 年相比,它总是会失败。我很惊讶你在尝试比较两者时没有出错。如果年份的值是数字,那么如果 year == 2019: 将是一个合法的比较。
    【解决方案3】:

    你需要一个colon在行尾,这样if result == "PASS":

    【讨论】:

      【解决方案4】:

      你在 if 语句后面漏掉了冒号操作符。

      result = getString(argument_x)
      print result # it returns "PASS"
      if result == "PASS":
          print 'something'
      

      【讨论】:

      • 如果您正确地格式化代码以便阅读,您的答案更有可能被认为是有用的并且被赞成。您可以在 here 上找到帮助
      【解决方案5】:

      你在 if 语句后面漏掉了冒号操作符。

      result = getString(argument_x)
      print result # it returns "PASS"
      if result == "PASS":
         print 'something'
      

      【讨论】:

        猜你喜欢
        • 2012-08-06
        • 1970-01-01
        • 2011-09-22
        • 1970-01-01
        • 2015-09-08
        • 1970-01-01
        • 2021-04-29
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多