if ... else条件中的语法错误

时间:2018-04-28 17:14:43

标签: python if-statement syntax nested conditional

我正在学习Python编程,而且我在以下代码的第8行中遇到语法错误

x = int(input('Add x:\n'))
y = int(input('Add y:\n'))
if x == y :
    print('x and y are equal')
else :
    if x < y :
        print('x is less than y')
    else x > y :
        print('x is greater than y')

我只是看不出那里有什么问题。

完整错误是:

Traceback (most recent call last):
  File "compare.py", line 8
    else x > y :
         ^
SyntaxError: invalid syntax

1 个答案:

答案 0 :(得分:2)

else没有条件。它只是else:,仅此而已;当if条件(和任何elif条件)不匹配时执行该块。如果您必须有其他条件可以测试,请使用elif

在您的情况下,只需使用

if x == y:
    print('x and y are equal')
elif x < y:
    print('x is less than y')
else:
    print('x is greater than y')

没有必要明确测试x > y,因为这是剩下的唯一选项(x不等于或更少,因此,它更大),所以{{1这里很好。

请注意,我已将嵌套的else:语句折叠到顶级if ... else的{​​{1}}扩展名中。