2011-08-21 63 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) 是真的只有一个,并都是假的。