Simple 'if' or logic statement in Python

Question:

How would you write the following in Python?

if key < 1 or key > 34:

I’ve tried every way I can think of and am finding it very frustrating.

Asked By: Zak

||

Answers:

If key isn’t an int or float but a string, you need to convert it to an int first by doing

key = int(key)

or to a float by doing

key = float(key)

Otherwise, what you have in your question should work, but

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

or

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

would be a bit clearer.

Answered By: agf

Here’s a Boolean thing:

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

but

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 ) ,
is false only if a and b are both true

not (a or b)
is true only if a and be are both false.

Answered By: spikeysnack
Categories: questions Tags: , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.