2012-03-02 115 views
-1

顯然,下面這行不是有效的Python語法。Python布爾表達式語法錯誤

while (!is_int(1)): 

我該如何解決?

注意:我不知道Python。

+3

假設'is_int()'其參數檢查是否是一個整數,這將轉化爲'而假' - 或者完全刪除整個代碼塊。 – 2012-03-02 14:24:50

+2

你認爲'1'會改變它的整數嗎? – hochl 2012-03-02 14:26:55

+1

這個問題有一個正確的答案,那就是「學習Python」。 – siride 2012-03-02 18:50:48

回答

3

布爾NOT在Python編寫not:(假設你已經實現了一個功能is_int

while not is_int(1): 

-1

爲什麼定義自己的功能is_int如果你有內置的功能isinstance

while not isinstance(1, int): 
-1

正確的語法是:

while not is_int(1): 
    .... 

哪裏is_int可以被實現爲:

def is_int(arg): 
    return isinstance(arg, int) 
+0

以下http://www.python.org/dev/peps/pep-0008類型比較應該使用'isinstance(obj,int)'來實現。 – hochl 2012-03-02 18:40:02