Python If else语法

时间:2016-09-03 00:52:37

标签: python-3.x

我正在努力解决我最近安装的Python 3.5.2中的If Else语句。我正在使用IDLE来运行我的代码。

以下是(screenshot)下方的代码。 enter image description here

我在“Else”之后按“Enter”键时出现语法错误。我尝试过使用缩进,冒号等等,但是到目前为止我尝试过的所有组合都出错了。我在这里以及Quora上看到过类似的问题(对于python的早期版本),但这些解决方案都不适用于我。请帮忙! (我正在使用MacBook - 如果有任何改变的话)。

4 个答案:

答案 0 :(得分:1)

不要缩进(制表符)'否则:'我认为原因是IDLE的“>>>”与终端

不同,提示未对齐

答案 1 :(得分:1)

以#3:

为例

Python将代码视为

if x==10:
        print("X is 10")
    else:

对此的缩进显然搞砸了。但它看起来很对你,因为提示符的>>>将第一行推到几个字符上,使它看起来是正确的。但即使它在shell中看起来那样,python仍然看到if x==10:col 0中,并且认为print("X is 10")缩进了8个空格而else:缩进了4个空格。

当你在编辑窗口中输入时,缩进实际上是不同的,就像这样

if x==10:
        print("X is 10")
else:

实际上是正确的(忽略else下没有任何内容的事实。

答案 2 :(得分:0)

使用Python 3.5.2但空闲,这就是代码成功运行时的样子:

>>> x = 8
>>> if x==10:
...   print('X is 10')
... else:
...   print('Not')
... 
Not
>>> 

正确的格式为else:冒号。这对应于您的第三次尝试,该错误看到抱怨缩进。我无法看到你输入的缩进,但在你弄清楚什么是闲置之前要改变它。

答案 3 :(得分:0)

第三个示例几乎是正确的,但您必须在else分支上提供一些内容,可以是某些代码或pass(或者只是完全删除else

修改 在解释问题是特定于IDLE交互式shell后,我自己尝试了以下代码:

enter image description here

这也是(因此缩进似乎对if分支本身起作用):

enter image description here

而且:

enter image description here

shell自动缩进很安静。不要说马车了。 在普通python交互模式下更清楚。 >>>添加了视觉缩进,但没有缩进。 if正文由它的前一个加一个缩进,虽然它是两个缩进,但它是允许的并且不会造成麻烦。 else语句需要与if - 0缩进具有相同的缩进(而不是作为visalization提示的缩进)。所以你实际上需要删除自动添加的缩进,else语句一直到开头。