Proste „if” lub instrukcja logiczna w Pythonie [zamknięte]

109

Jak napisałeś to w Pythonie?

if key < 1 or key > 34:

Próbowałem wszystkich możliwych sposobów i uważam to za bardzo frustrujące.

Zak
źródło
6
Jaki masz problem? Który błąd otrzymujesz? Twój przykład jest moim zdaniem prawidłowym kodem w Pythonie !?
Achim,
Szukasz określonej składni? Oświadczenie, o którym pisałeś, jest takie, jak napisałbyś je w Pythonie.
Yony

Odpowiedzi:

222

Jeśli keynie jest intlub floatale string, musisz przekonwertować go na intpierwszy, wykonując

key = int(key)

lub floatprzez działanie

key = float(key)

W przeciwnym razie to, co masz w swoim pytaniu, powinno działać, ale

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

lub

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

byłoby trochę jaśniejsze.

agf
źródło
19

Oto rzecz logiczna:

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

ale

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 ) , jest fałszywe tylko wtedy, gdy a i b są prawdziwe

not (a or b) jest prawdziwe tylko wtedy, gdy a i be są fałszywe.

spikeysnack
źródło