【问题标题】:Syntax error in if-else statementif-else 语句中的语法错误
【发布时间】:2018-08-30 16:44:37
【问题描述】:

我在 Python 3.6 中使用以下代码:

age = 65
 retirement = age - 64
 if retirement < 10:
  print "(you will get retire soon)"
  else:
  Syntax Error: invalid syntax

我在 if-else 语句中尝试了几种不同的方法,但仍然不起作用。

有没有人知道程序为我检测错误的方法?谢谢。

【问题讨论】:

  • ifelse 未垂直对齐。 else 块没有语句。出于某种原因,除第一行之外的所有内容都缩进了。
  • print "(you will get retire soon)" 修复为 print("you will get retire soon") 并修复代码缩进。
  • python 对缩进敏感...docs.python.org/2.0/ref/indentation.html
  • 嘿,它仍然无法正常工作是我的代码:
  • 年龄 = 65 >>> 退休 = 65 - 1 >>> 如果退休

标签: python syntax-error


【解决方案1】:

这是您(可能)正在寻找的代码,但您应该使用 python 教程的帮助:

age = 65
retirement = age - 64
if retirement < 10:
    print("you will get retire soon")
else:
    raise SyntaxError

我也不明白你为什么要引发 SyntaxError...也许 ValueError 更好,最好的应该是:

age = 65
retirement = age - 64
if retirement < 10:
    print("you will get retire soon")
else:
    print("still long suffering")

【讨论】:

  • 打印语句,在python3.x中,使用括号。我已经编辑了代码,现在看一下(请记住,由于某些原因,如果在第一个示例中退休 >= 10,您会引发 SyntaxError,请使用第二个示例来避免这种情况)
  • 我使用了括号,但为什么我输入 else:它显示了 SyntaxErrors : invalid syntax
  • else 条件与if 条件严格相关。为了更好地理解发生了什么,请使用第二个示例或删除 else 行以及该行下的所有内容
  • 如果我用 shell 来输入那是有问题的