Elementor Header #8

61. Цикл While

Добро пожаловать на 61-й урок по Python! Сегодня мы изучим цикл while, который позволяет выполнять блок кода многократно до тех пор, пока определенное условие остается истинным. Цикл while очень полезен, когда необходимо выполнять повторяющиеся задачи, но количество итераций заранее неизвестно.

Синтаксис цикла while

Цикл while имеет следующий синтаксис:

				
					while условие:
    # Код, который выполняется, пока условие истинно

				
			

Здесь условие — это выражение, которое проверяется перед каждой итерацией цикла. Если условие истинно (True), выполняется блок кода внутри цикла. Как только условие становится ложным (False), выполнение цикла прекращается, и программа продолжает выполнение кода после цикла.

Пример использования

1. Простой пример

				
					count = 0

while count < 5:
    print("Count is", count)
    count += 1

print("Finished!")

				
			

В этом примере переменная count увеличивается на 1 на каждой итерации цикла, пока она меньше 5. После достижения значения 5 цикл прекращается, и выводится сообщение «Finished!».

2. Бесконечный цикл

				
					while True:
    response = input("Type 'exit' to stop the loop: ")
    if response == "exit":
        break
    print("You typed:", response)

				
			

Здесь используется цикл while True, который выполняется бесконечно, пока не будет выполнен оператор break. Цикл продолжает спрашивать пользователя, пока тот не введет «exit».

3. Прерывание и пропуск итераций

				
					num = 0

while num < 10:
    num += 1
    if num == 5:
        continue  # Пропустить оставшуюся часть кода и перейти к следующей итерации
    if num == 8:
        break  # Прервать выполнение цикла
    print("Number is", num)

				
			

В этом примере цикл пропускает вывод значения, когда num равно 5, и завершает выполнение, когда num достигает 8.

Примеры с функциями

Пример 1: Поиск первого положительного делителя

				
					def find_divisor(n):
    divisor = 1
    while divisor <= n:
        if n % divisor == 0:
            return divisor
        divisor += 1
    return None  # Не должен быть достигнут, но для завершенности

print(find_divisor(15))  # Ожидаемый вывод: 1
print(find_divisor(28))  # Ожидаемый вывод: 1

				
			

Функция find_divisor находит первый положительный делитель числа n.

Пример 2: Калькулятор суммы до тех пор, пока пользователь не введет отрицательное число

				
					def sum_positive_numbers():
    total = 0
    while True:
        number = float(input("Enter a positive number (or a negative number to stop): "))
        if number < 0:
            break
        total += number
    return total

print("The sum is:", sum_positive_numbers())

				
			

Функция sum_positive_numbers суммирует положительные числа, введенные пользователем, и завершает работу, когда введено отрицательное число.

Заключение

Сегодня мы изучили цикл while, который позволяет выполнять блок кода многократно до тех пор, пока условие остается истинным. Вы узнали, как использовать цикл while для выполнения различных задач, включая обработку ввода пользователя и выполнение вычислений до достижения определенных условий.

logo