Решение задания 1: Обратный отсчёт
start = int(input("Введите начальное число: "))
while start > 0:
print(start)
start -= 1
print("Отсчёт завершён!")
Логика решения: переменная start уменьшается на 1 на каждой итерации. Цикл продолжается, пока start больше 0. Когда start становится 0, условие ложно и выполняется финальная строка.
Решение задания 2: Сумма положительных чисел
total = 0
while True:
num = int(input("Введите число: "))
if num < 0:
continue
if num == 0:
break
total += num
print(f"Общая сумма положительных: {total}")
Логика решения: бесконечный цикл while True читает числа. Отрицательные пропускаются через continue, 0 завершает цикл через break, а положительные накапливаются в total.
Решение задания 3: Чётные числа через continue
n = int(input("Введите N: "))
i = 1
while i <= n:
if i % 2 != 0:
i += 1
continue
print(i)
i += 1
Логика решения: цикл перебирает числа от 1 до N. Если число нечётное, continue пропускает вывод. Обратите внимание: инкремент i += 1 написан и до continue, и после print(), чтобы избежать бесконечного цикла.
Решение задания 4: Факториал числа
n = int(input("Введите n: "))
result = 1
i = 1
while i <= n:
result *= i
i += 1
print(f"Факториал {n} равен {result}")
Логика решения: переменная result накапливает произведение чисел от 1 до n. При n = 0 цикл не выполняется ни разу, и результат остаётся равным 1, что соответствует математическому определению 0! = 1.
math.factorial() или цикл for, но в учебных целях важно написать его именно через while, чтобы закрепить механизм цикла.