Просте "якщо" або логічне твердження в Python [закрито]


109

Як би ви написали наступне в Python?

if key < 1 or key > 34:

Я намагався всі способи, про які я можу придумати, і вважаю це дуже неприємним.


6
Яка у вас проблема? Яку помилку ви отримаєте? Ваш приклад - дійсний код python, на мою думку !?
Ахім

Шукаєте конкретний синтаксис? Заява, про яку ви писали, - це як ви написали б її в Python.
Yony

Відповіді:


222

Якщо keyце не intабо, floatале strінжин, вам потрібно перетворити його на intперше, виконавши

key = int(key)

або до floatтим самим

key = float(key)

Інакше те, що ви маєте у своєму питанні, має працювати, але

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

або

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

було б трохи зрозуміліше.


19

Ось булева річ:

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

але

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 ) , помилково, лише якщо а і b є істинними

not (a or b) істинно, лише якщо a і be є хибними.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.