【问题标题】:syntax error in if...else conditionif...else 条件中的语法错误
【发布时间】:2018-10-09 06:53:37
【问题描述】:

我正在学习 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

【问题讨论】:

  • 始终在提问时包含完整的错误输出。这使我们更容易诊断,也便于未来的访问者在遇到相同错误时找到此问题。
  • Here's 一个骗子,但显然这个问题有更好的答案。

标签: python if-statement syntax nested conditional


【解决方案1】:

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 &gt; y,因为这是唯一剩下的选项(x 不等于或小于,因此,它更大),所以else: 在这里很好。

请注意,我将您嵌套的 if ... else 语句折叠为顶级 if 上的 elif ... else 扩展。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-24
    • 2020-05-30
    相关资源
    最近更新 更多