Python простое или логическое выражение Как бы вы пишете в python: if key < 1 or key > 34: Я пробовал все, что мог, и нахожу это очень неприятным. Ответ 1 Если key не является int или float, но a str ing, вам нужно сначала преобразовать его в int, выполнив key = int(key) или a float, выполнив key = float(key) В противном случае то, что у вас есть в вашем вопросе, должно работать, но if (key < 1) or (key > 34): или if not (1 <= key <= 34): будет немного понятнее. Ответ 2 Вот логическая вещь: 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 ), ложно, только если a и b оба истинны not (a or b) имеет значение true, только если a и be оба являются ложными. Ответ 3 Вы можете просто использовать if (клавиша <1) или (клавиша> 34): ваша проблема будет решена Ответ 4 @deex проверить Закон де Моргана
Ответ 1 Если key не является int или float, но a str ing, вам нужно сначала преобразовать его в int, выполнив key = int(key) или a float, выполнив key = float(key) В противном случае то, что у вас есть в вашем вопросе, должно работать, но if (key < 1) or (key > 34): или if not (1 <= key <= 34): будет немного понятнее.
Ответ 2 Вот логическая вещь: 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 ), ложно, только если a и b оба истинны not (a or b) имеет значение true, только если a и be оба являются ложными.