python2.7 缩进问题

>>> if x < 0:
x = 0
print 'Negative changed to zero'
elif x == 0:
print 'Zero'
elif x == 1:
print 'Single'
else:
print 'More'

File "<pyshell#18>", line 4
elif x == 0:
^
IndentationError: unindent does not match any outer indentation level

这段代码表面上看缩进没什么问题呀,就是通不过喃,求大侠指点

德玛西亚99
浏览 1138回答 2
2回答

qq_花开花谢_0

题主你遇到的问题应该是在Python Idle 交互式中,在敲完“elif xxx:”之后,按了Enter键然后Python报了错。这是个满常见的问题,因为在这个部分开始之前有一个“>>>”,想必题主是被这个标志迷惑了,导致了程序被写成了下面这样:>>>if x < 0:. . . . print ("xxxx"). . . . elif x == 0:. . . . . . . . print ("xxxx")以上是题主在idle中的输入,Python的理解。()每一个“ . ”都代表一个空格)我们可以看出,问题就在,>>>其实是不算缩进的,如果去追求视觉上的对齐反而出了错。那么正确的输入应该是>>>if x < 0:. . . . print ("xxxx")elif x == 0:. . . . print ("xxxx")第二个例子与第一个例子的区别在于:在elif开始前,没有那个缩进,也就是紧贴着界面的最左边。给题主个建议,这种涉及缩进的程序最好在New File中编写,这样好操控。另外缩进默认是四个空格,直接输入tab可能会出错。ps. 虽然这是2013年的题目,相信题主也一定早就解决了它。但这是个好问题,所以斗胆回答,想给后来者一些启发。

三国纷争

你的缩进有问题吧,前面要留4个空格而不是一个tab。>>> if x < 0:... x = 0... print 'Negative changed to zero'... elif x == 0:... print 'Zero'... elif x == 1:... print 'Single'... else:... print 'More'另外不要复制别人的代码直接拿来自己用,自己手打一遍的效果更好追问呵呵,就是自己敲的有问题,然后复制别个的也通不过。重新试了还是不行喃?请看图elif下面没有东西啦,起码给个pass啊,建议这个你还用个py文件写吧,在shell里写不太好控制的
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python