>>> if x < 0:x = 0print 'Negative changed to zero'elif x == 0:print 'Zero'elif x == 1:print 'Single'else:print 'More'File "<pyshell#18>", line 4elif x == 0:^IndentationError: unindent does not match any outer indentation level这段代码表面上看缩进没什么问题呀,就是通不过喃,求大侠指点
2 回答

qq_花开花谢_0
TA贡献1835条经验 获得超7个赞
题主你遇到的问题应该是在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年的题目,相信题主也一定早就解决了它。但这是个好问题,所以斗胆回答,想给后来者一些启发。

三国纷争
TA贡献1804条经验 获得超7个赞
添加回答
举报
0/150
提交
取消