Einfache 'if' oder logische Anweisung in Python [geschlossen]

109

Wie würden Sie Folgendes in Python schreiben?

if key < 1 or key > 34:

Ich habe alles versucht, was mir einfällt, und finde es sehr frustrierend.

Zak
quelle
6
Welches Problem hast du? Welchen Fehler bekommen Sie? Ihr Beispiel ist meiner Meinung nach gültiger Python-Code!?
Achim
Suchen Sie eine bestimmte Syntax? Die Aussage, über die Sie geschrieben haben, ist, wie Sie sie in Python schreiben würden.
Yony

Antworten:

222

Wenn keyes sich nicht um ein intoder floatnur um ein string handelt, müssen Sie es intdurch Ausführen in ein erstes konvertieren

key = int(key)

oder zu einem floatdurch tun

key = float(key)

Ansonsten sollte das, was Sie in Ihrer Frage haben, funktionieren, aber

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

oder

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

wäre etwas klarer.

agf
quelle
19

Hier ist eine boolesche Sache:

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

aber

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 ) ist nur dann falsch, wenn a und b beide wahr sind

not (a or b) ist nur wahr, wenn a und be beide falsch sind.

Spikeysnack
quelle