为了账号安全,请及时绑定邮箱和手机立即绑定

python2.7 缩进问题

python2.7 缩进问题

德玛西亚99 2018-07-04 14:18:18
>>> 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年的题目,相信题主也一定早就解决了它。但这是个好问题,所以斗胆回答,想给后来者一些启发。

查看完整回答
反对 回复 2018-07-29
?
三国纷争

TA贡献1804条经验 获得超7个赞

你的缩进有问题吧,前面要留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'

另外不要复制别人的代码直接拿来自己用,自己手打一遍的效果更好

追问

呵呵,就是自己敲的有问题,然后复制别个的也通不过。

重新试了还是不行喃?请看图

5b5d51030001634f06000184.jpg

elif下面没有东西啦,起码给个pass啊,建议这个你还用个py文件写吧,在shell里写不太好控制的


查看完整回答
反对 回复 2018-07-29
  • 2 回答
  • 0 关注
  • 1137 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号