Gnomer
@Gnomer
Изучаю Python как могу.

Что я написал не так?

5c025217be8fb198828324.jpeg
Почему не завершается цикл? ведь на 3 выполнении a+1=8.
a=int(input())
b=int(input())
if a%2==0:
	while a!=b or a-1!=b:
		a=a+2
else:
	while a!=b or a+1!=b:
		a=a+2
  • Вопрос задан
  • 186 просмотров
Решения вопроса 1
alsolovyev
@alsolovyev
Если одно из условий true, то всегда true
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
pavkozlov
@pavkozlov
Системный администратор
or замени на and. Иначе получается условие:
а НЕ РАВНО б или а+1 НЕ РАВНО б
А принимает значения: 1,3,5,7,9,11,13 и т.д. (б равен 8), поэтому while будет выполнятся бесконечно, т.к. А всегда НЕ РАВНО Б, а для условия or важно выполнение хотя бы одного из условий (True or False = True).
Сделай так:
while a!=b and a+1!=b:
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы