web-dev-qa-db-ja.com

Pythonの単純なifまたは論理文

Pythonで、どう書く?

if key < 1 or key > 34:

私は私が考えることができるあらゆる方法を試みました、そしてそれが非常にイライラするのを発見しています。

90
Zak

keyintでもfloatでもstringではない場合、まず次のようにしてそれをintに変換する必要があります。

key = int(key)

またはfloatにすることで

key = float(key)

そうでなければ、あなたの質問にあなたが持っているものはうまくいくはずですが、

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

または

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

もう少し明確になります。

183
agf

これが真偽値です。

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 )は、aとbが両方ともtrueの場合にのみfalseです。

not (a or b)は、aとbeが両方ともfalseの場合にのみtrueです。

16
spikeysnack

あなたは単に使うことができます

(key <1)または(key> 34)の場合:

あなたの問題は解決されます

0
joginder singh