Python для начинающих: Цикл while — урок 7

Циклы необходимы для многократного повторения действий. В этом уроке мы познакомимся с циклом while, циклом с условием. Он выполняет блок кода, пока заданное условие истинно.

Цикл while: синтаксис и работа

Синтаксис цикла while в Python:

while условие:
    # тело цикла
else:
    # выполняется, если условие стало ложным

Схема работы:

  1. Программа достигает цикла while.
  2. Проверяется условие.
  3. Если условие истинно, выполняется тело цикла.
  4. После выполнения тела цикла, условие проверяется снова. Цикл повторяется до тех пор, пока условие не станет ложным.
  5. Если блок else присутствует, он выполняется после того, как условие станет ложным. В большинстве случаев блок else в цикле while не используется.

Примеры использования цикла while

Циклы позволяют сократить код. Например, вывод фразы «Привет мир» тысячу раз без цикла потребовал бы тысячи строк кода. С циклом это можно сделать в нескольких строках.

Счетчик и условия в цикле while

Для отслеживания количества повторений цикла используется счетчик – переменная, значение которой изменяется на каждой итерации. В условии цикла можно использовать логические операторы (and, or, not). Важно правильно использовать логические операторы, чтобы избежать бесконечных циклов.

Пример: вывод чисел от 1 до 10

Задача: вывести числа от 1 до 10.

x = 1
while x <= 10:
    print(x)
    x += 1

Без изменения значения x цикл станет бесконечным. x += 1 эквивалентно x = x + 1, но является более кратким вариантом записи (комбинированное присваивание).

Цикл while в одну строку

Если тело цикла состоит из одной строки, цикл можно записать в одну строку:

x = 1; while x < 5: print(x); x += 1

Вложенные циклы while

Один цикл может быть вложен в другой. Пример: вывод таблицы умножения.

x = 1
while x <= 9:
    a = 1
    while a <= 9:
        print(f"{x} * {a} = {x * a}", end=" | ")
        a += 1
    print()
    x += 1

Задача: сумма цифр числа

Задача: пользователь вводит число, программа вычисляет сумму его цифр.

number = int(input())
s = 0
while number > 0:
    s += number % 10
    number //= 10
print(s)

В этом примере number % 10 возвращает последнюю цифру, а number //= 10 удаляет последнюю цифру. Цикл продолжается, пока число больше 0.

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

Что будем искать? Например,программа