2 回答

TA貢獻(xiàn)1835條經(jīng)驗 獲得超7個贊
題主你遇到的問題應(yīng)該是在Python Idle 交互式中,在敲完“elif xxx:”之后,按了Enter鍵然后Python報了錯。
這是個滿常見的問題,因為在這個部分開始之前有一個“>>>”,想必題主是被這個標(biāo)志迷惑了,導(dǎo)致了程序被寫成了下面這樣:
>>>if x < 0:
. . . . print ("xxxx")
. . . . elif x == 0:
. . . . . . . . print ("xxxx")
以上是題主在idle中的輸入,Python的理解。
()每一個“ . ”都代表一個空格)
我們可以看出,問題就在,>>>其實是不算縮進(jìn)的,如果去追求視覺上的對齊反而出了錯。
那么正確的輸入應(yīng)該是
>>>if x < 0:
. . . . print ("xxxx")
elif x == 0:
. . . . print ("xxxx")
第二個例子與第一個例子的區(qū)別在于:在elif開始前,沒有那個縮進(jìn),也就是緊貼著界面的最左邊。
給題主個建議,這種涉及縮進(jìn)的程序最好在New File中編寫,這樣好操控。
另外縮進(jìn)默認(rèn)是四個空格,直接輸入tab可能會出錯。
ps. 雖然這是2013年的題目,相信題主也一定早就解決了它。但這是個好問題,所以斗膽回答,想給后來者一些啟發(fā)。

TA貢獻(xiàn)1804條經(jīng)驗 獲得超7個贊
你的縮進(jìn)有問題吧,前面要留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'
另外不要復(fù)制別人的代碼直接拿來自己用,自己手打一遍的效果更好
追問
呵呵,就是自己敲的有問題,然后復(fù)制別個的也通不過。
重新試了還是不行喃?請看圖
elif下面沒有東西啦,起碼給個pass啊,建議這個你還用個py文件寫吧,在shell里寫不太好控制的
添加回答
舉報