Найти - Пользователи
Полная версия: Почему не выполняется проверка сложного условия в операторе ветвления if?
Начало » Центр помощи » Почему не выполняется проверка сложного условия в операторе ветвления if?
1
new_user
#Вот такой простой фрагмент кода решения задачи из книги Гэддиса
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, а вместе не работает. Объясните если не трудно доступным языком?
# Буду очень признателен.
doza_and
Ваше условие никогда не бывает ложным.

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

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

 if i not in [1904, 1994]:
     .....
new_user
Doza_and, спасибо большое.
Теперь я запомню. В книге об этом было сказано, а я не запомнил. Теперь точно запомню.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB