Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 2, 2022 22:06:26

new_user
Зарегистрирован: 2022-01-02
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Почему не выполняется проверка сложного условия в операторе ветвления if?

#Вот такой простой фрагмент кода решения задачи из книги Гэддиса
START = 1903
LAST 2009
NO_GAMES1 = 1904
NO_GAMES2 = 1994
years =
for i in range(START, LAST + 1):
if i != NO_GAMES1 or i != NO_GAMES2:
years.append

print(years)
# после выполнения цикла список years заполняется всеми итерируемыми значениями от 1903 до 2009
# в том числе в списке присутствуют и значения 1904 и 1994
# Почему не работает условие if? Если в if оставляю только одно условие, тогда условие выполняется
# и в списке отсутствует значение 1904, а вместе не работает. Объясните если не трудно доступным языком?
# Буду очень признателен.

Офлайн

#2 Янв. 2, 2022 23:20:01

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

Почему не выполняется проверка сложного условия в операторе ветвления if?

Ваше условие никогда не бывает ложным.

Например когда i=1904 первая частьi!- 1904 ложная а вторая i!=1994 истина. False or True дает истину.

Используйте in

 if i not in [1904, 1994]:
     .....



Отредактировано doza_and (Янв. 2, 2022 23:22:00)

Офлайн

#3 Янв. 3, 2022 01:26:02

new_user
Зарегистрирован: 2022-01-02
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Почему не выполняется проверка сложного условия в операторе ветвления if?

Doza_and, спасибо большое.
Теперь я запомню. В книге об этом было сказано, а я не запомнил. Теперь точно запомню.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version