По данным двум натуральным числам A и B (A≤B) выведите все чётные числа на отрезке от A до B. В этой задаче нельзя использовать инструкцию if. Если что то это из сириуса! напишите программу пожалуйста
Сначала получаем на вход наши значения и добавим одну булиновскую переменную, которая будет у нас проверять, в какой из двух ситуаций (об этом чуть позже) мы находимся и пора ли завершать наш цикл.
У нас есть 2 сценария: наше число а или чётное или нечётное, во втором случае нам надо будет добавить к нему единицу прежде чем начать выводить.
Первый цикл while расписывает сценарий, когда a - чётное
even=a%2==0 - проверяем на чётность
while even: - Пока значение нашей переменной even - True - цикл будет продолжаться
Внутри самого цикла мы прописываем условие:
a+=2 - получаем следующее чётное число
even=a<=b - проверяем, превысили ли мы значения b или ещё нет - если нет, цикл запустится повторно, если да - цикл прервётся
После окончания первого цикла мы прибавляем к значению a единичку: это действие никак не зааффектит на нас, если первый цикл выполнялся, это действие направлено как раз на сценарий, когда a - нечётное. Если число нечётное, то ближайшее чётное число всего лишь в 1 от него.
После того как мы прибавляем 1 мы проверяем, срабатывал ли у нас первый цикл:
even=a<=b - если первый цикл запускался, то это условие будет ложным и второй цикл не запустится, однако, если условие всё таки истинно, то второй цикл начнёт свою работу.
Формат второго цикла никак не отличается от первого, повторюсь, главная его особенность: он не запустится, если первый цикл запускался
Answers & Comments
Поламал немного голову, пришёл к такому решению:
a=int(input())
b=int(input())
even=a%2==0
while even:
print(a)
a+=2
even=a<=b
a+=1
even=a<=b
while even:
print(a)
a += 2
even = a <= b
Объяснение:
Сначала получаем на вход наши значения и добавим одну булиновскую переменную, которая будет у нас проверять, в какой из двух ситуаций (об этом чуть позже) мы находимся и пора ли завершать наш цикл.
У нас есть 2 сценария: наше число а или чётное или нечётное, во втором случае нам надо будет добавить к нему единицу прежде чем начать выводить.
Первый цикл while расписывает сценарий, когда a - чётное
even=a%2==0 - проверяем на чётность
while even: - Пока значение нашей переменной even - True - цикл будет продолжаться
Внутри самого цикла мы прописываем условие:
a+=2 - получаем следующее чётное число
even=a<=b - проверяем, превысили ли мы значения b или ещё нет - если нет, цикл запустится повторно, если да - цикл прервётся
После окончания первого цикла мы прибавляем к значению a единичку: это действие никак не зааффектит на нас, если первый цикл выполнялся, это действие направлено как раз на сценарий, когда a - нечётное. Если число нечётное, то ближайшее чётное число всего лишь в 1 от него.
После того как мы прибавляем 1 мы проверяем, срабатывал ли у нас первый цикл:
even=a<=b - если первый цикл запускался, то это условие будет ложным и второй цикл не запустится, однако, если условие всё таки истинно, то второй цикл начнёт свою работу.
Формат второго цикла никак не отличается от первого, повторюсь, главная его особенность: он не запустится, если первый цикл запускался