Изучаем цикл while: синтаксис, варианты и практические примеры

Раздел: Основы Python -> Управляющие конструкции

Основы цикла while

Цикл while выполняет блок кода до тех пор, пока истинно заданное условие. Синтаксис:

while условие:
    # тело цикла
    # изменение переменной (если необходимо)

оператор case в python (оператор case (match) в python)

Пример: вывод чисел от 0 до 4:

i = 0
while i < 5:
    print(i)
    i += 1

Match case python (конструкция match-case в python)

0
1
2
3
4

операторы ветвления в языке python (условные операторы в python)

Важно

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

Как организовать цикл с выходом по условию из середины?

Используется конструкция while True с оператором break. Это позволяет прервать цикл при выполнении определенного условия, не проверяя его в заголовке.

while True:
    ответ = input('Введите стоп для выхода: ')
    if ответ == 'стоп':
        break
    print('Вы ввели:', ответ)

Return s s python (оператор return в python)

Введите стоп для выхода: привет
Вы ввели: привет
Введите стоп для выхода: стоп

оператор выбора в python (оператор выбора if в python)

Типичная ошибка:

забыть break, цикл станет бесконечным. Решение: всегда предусматривать условие выхода.

Как выполнить блок кода после нормального завершения цикла?

Блок else выполняется, если цикл завершился без break. Полезно для поиска.

i = 0
while i < 5:
    print(i)
    i += 1
else:
    print('Цикл завершен без break')

Python пустая команда (пустая команда pass в python)

0
1
2
3
4
Цикл завершен без break

как на языке python записывается полное ветвление (полное ветвление в python)

Если внутри цикла сработает break, блок else не выполняется.

Как пропустить часть итераций?

Оператор continue прерывает текущую итерацию и переходит к следующей проверке условия.

i = 0
while i < 5:
    i += 1
    if i == 3:
        continue
    print(i)

циклы в python примеры (примеры циклов в python)

1
2
4
5

программа с циклом while python (программа с циклом while на python)

Значение 3 пропущено.

Как повторять запрос данных до получения корректного ввода?

Цикл while с проверкой ввода внутри.

число = None
while число is None:
    попытка = input('Введите целое число: ')
    if попытка.isdigit():
        число = int(попытка)
    else:
        print('Ошибка: введите число')

For и while python в чем разница (разница между циклами for и while в python)

Цикл продолжается, пока пользователь не введет строку, состоящую только из цифр.

Как пройти по списку с доступом к индексу?

Используется переменная-счетчик и длина списка.

список = ['a', 'b', 'c']
index = 0
while index < len(список):
    print(f'Индекс {index}: {список[index]}')
    index += 1

Python if then else (условный оператор if then else в python)

Индекс 0: a
Индекс 1: b
Индекс 2: c

условный оператор в языке программирования python (условный оператор в python)

Как выполнить тело цикла хотя бы один раз (аналог do-while)?

В Python нет do-while, но можно эмулировать с помощью while True и break в конце.

while True:
    число = int(input('Введите положительное число: '))
    print('Вы ввели:', число)
    if число > 0:
        break

Python list цикл (цикл по списку в python)

Тело выполняется, затем проверка условия.

Как задать сложное условие продолжения?

Условие может содержать логические операторы and, or, not.

x = 0
y = 10
while x < y and x < 5:
    print(x, y)
    x += 1
    y -= 1

While языка python (цикл while в python)

0 10
1 9
2 8
3 7
4 6

циклы в python конструкции (циклы while в python)

Как изменить шаг итерации внутри цикла?

Переменную цикла можно изменять не только на константу, но и по условию.

i = 1
while i <= 20:
    print(i)
    if i % 5 == 0:
        i += 5  # прыжок на 5
    else:
        i += 1
1
2
3
4
5
10
15
20

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

Генерация чисел Фибоначчи до N

Цикл while позволяет вычислять последовательность Фибоначчи, пока очередное число не превысит заданный предел.

Пример
limit = 50
a, b = 0, 1
while a <= limit:
    print(a, end=' ')
    a, b = b, a + b
print()
0 1 1 2 3 5 8 13 21 34

Поиск первого простого числа в диапазоне

Перебор чисел с проверкой делимости через вложенный while.

Пример
start = 10
end = 30
num = start
while num <= end:
    div = 2
    is_prime = True
    while div * div <= num:
        if num % div == 0:
            is_prime = False
            break
        div += 1
    if is_prime and num > 1:
        print('Первое простое число:', num)
        break
    num += 1
else:
    print('Простых чисел нет в диапазоне')
Первое простое число: 11

Игра «Угадай число» с подсказками

Цикл while управляет игровым процессом до тех пор, пока пользователь не угадает загаданное число.

Пример
import random
загаданное = random.randint(1, 100)
попытка = 0
while True:
    предположение = int(input('Ваше предположение (1-100): '))
    попытка += 1
    if предположение < загаданное:
        print('Больше')
    elif предположение > загаданное:
        print('Меньше')
    else:
        print(f'Поздравляю! Угадано за {попытка} попыток.')
        break
Ваше предположение (1-100): 50
Больше
Ваше предположение (1-100): 75
Меньше
Ваше предположение (1-100): 63
Поздравляю! Угадано за 3 попыток.

Чтение строк из файла до конца (симуляция)

Имитация построчного чтения с помощью списка строк, где цикл завершается при достижении конца.

Пример
строки = ['первая', 'вторая', 'третья', '']
index = 0
while строки[index] != '':
    print('Строка:', строки[index])
    index += 1
print('Конец файла')
Строка: первая
Строка: вторая
Строка: третья
Конец файла

Обработка строки с помощью индекса

Цикл while может обходить символы строки, позволяя выполнять произвольные манипуляции.

Пример
s = 'Python'
i = 0
while i < len(s):
    if s[i] in 'aeiouy':
        print(f'Гласная {s[i]} на позиции {i}')
    i += 1
Гласная o на позиции 4

Цикл while в Python - comments

En
While языка python (python)