>>> 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
提交
取消