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.


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.


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.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.