2013-05-08 113 views
4

我有這樣Python的嵌套的if-else語句

for word in tweet_text: 
    if word in new_words: 
     if new_words[word] == 0: 
      new_words[word] = sent_count 
     else: 
      new_words[word] = (new_words[word] + sent_count)/2 

一個聲明,我很懷疑是不是別人塊,每次執行時,第一個條件不滿足(if word in new_words)時間,這可能嗎?我的身份驗證有問題嗎?

+0

對我來說這似乎很好......什麼是new_words和tweet_text,字典? – 2013-05-08 20:30:51

+0

Python中的範圍取決於標識,我認爲如果你將空格與標籤混合在一起,你的代碼甚至不會運行......你確定你在說什麼?你有沒有調試過你的代碼? – Renan 2013-05-08 20:31:09

+0

是的,問題是,我得到KeyError異常中的其他塊,但它不應該的,因爲第一個條件 – 2013-05-08 20:31:35

回答

9

else子句對應於if,其縮進級別與您的預期相同。

你看到的可能是由於這樣的事實,你是混合製表符和空格,所以壓痕明顯的水平是不一樣的解釋看到一個問題。

將所有選項卡更改爲空格並檢查問題是否消失。

+0

是的,它真的有幫助,謝謝 – 2013-05-09 12:10:35