Semplice 'if' o istruzione logica in Python [chiuso]


109

Come scriveresti quanto segue in Python?

if key < 1 or key > 34:

Ho provato in tutti i modi in cui riesco a pensare e lo trovo molto frustrante.


6
Che problema hai? Quale errore ricevi? Il tuo esempio è un codice Python valido secondo me !?
Achim

Cerchi una sintassi specifica? L'affermazione di cui hai scritto è come la scriveresti in Python.
Yony

Risposte:


222

Se keynon è un into floatma un string, devi convertirlo in un intfirst facendo

key = int(key)

o ad un floatfacendo

key = float(key)

Altrimenti, quello che hai nella tua domanda dovrebbe funzionare, ma

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

o

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

sarebbe un po 'più chiaro.


19

Ecco una cosa booleana:

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

ma

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 ) , è falso solo se aeb sono entrambi veri

not (a or b) è vero solo se a e be sono entrambi falsi.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.