2011-08-21 78 views
56

你怎麼會寫,在python:Python的簡單,如果或邏輯語句

if key < 1 or key > 34: 

我已經想盡辦法,我能想到的,而且我發現它非常令人沮喪。

+7

這是什麼問題? –

+4

你有什麼問題?你得到哪個錯誤?你的例子在我看來是有效的Python代碼!? – Achim

+0

您是否在尋找特定的語法?你寫的關於_is_的語句如何用Python編寫。 – Yony

回答

118

如果key不是intfloatstr ING,你需要把它做

key = int(key) 

或到float

key = float(key) 

否則轉換爲int第一,你有什麼問題應該可以,但是

if (key < 1) or (key > 34): 

if not (1 <= key <= 34): 

會有點清晰。

+1

謝謝,我忘了,雖然一個數字,關鍵實際上是一個字符串。很抱歉,該網站上的第一個愚蠢的問題。生病之前儘量努力解決我的問題,然後再發布。 – Zak

+0

@agf,這有點meta:你如何到達* 15分鐘*? –

+0

在提出問題後15分鐘內你無法接受答案。 – agf

7

這裏是一個布爾的事情:

if (not suffix == "flac") or (not suffix == "cue"): # WRONG! FAILS 
    print filename + ' is not a flac or cue file' 

if not (suffix == "flac" or suffix == "cue"):  # CORRECT! 
     print filename + ' is not a flac or cue file' 

(not a) or (not b) == not (a and b), 所以雙方必須假以等同於真正的

not (a or b) 是真的只有一個,並都是假的。