Windows上的Python IDLE v3.5的elif语句缩进语法错误

时间:2018-08-10 21:57:11

标签: python windows if-statement syntax-error python-idle

为什么elif总是在此失败并出现语法错误? 我将Python IDLE 3.7.0用于Windows 64位。 enter image description here

它与baisc字符串,数字和列表一起使用时效果很好。 但是,当我尝试以三种方式使用if-elif语句时,所有语句均因语法错误而失败。 有人可以帮忙吗?

我使用的代码来自python文档第4.1章if语句,如下所示。 enter image description here

  1. 从python文档复制并粘贴原始文档。 但是,如果因语法错误而失败:unindent不匹配任何外部缩进级别。 enter image description here

  2. 在与elif相同的行中写入print语句,但由于语法错误仍然失败: enter image description here

  3. 以与Elif相同的位置缩进Elif。仍然失败。 enter image description here

1 个答案:

答案 0 :(得分:0)

IDLE提示符很奇怪且令人困惑。它在多行语句的第一行前打印>>> ,但与常规交互式Python不同,它不在连续行前打印... 。第一行前面的>>> 不计入缩进,因此您喜欢的外观

>>> if x < 0:
        ...
    elif x == 0:
        ...

看起来像是空闲的

if x < 0:
        ...
    elif x == 0:
        ...

最好的解决方案是停止使用IDLE。如果仍然要使用IDLE,则在缩进时假装>>> 不存在:

>>> if x < 0:
    ...
elif x == 0:
    ...