Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> Python

Освоение циклов Python: for, while, break, continue и enumerate

Освоение циклов Python: for, while, break, continue и enumerate

Циклы — основа итеративного программирования. Они позволяют выполнять блок кода повторно, пока условие выполняется. Python предлагает два основных конструктора циклов: for (итераторы) и while (на основе условия).

Что такое цикл?

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

Циклы for (итераторы)

Цикл for итерируется по элементам итерируемого объекта — списков, кортежей, строк или range. Он автоматически останавливается, когда итератор исчерпан, что безопаснее ручного отслеживания индексов.

x = 0
for x in range(2, 7):
    print(x)

Вывод:
2
3
4
5
6

Циклы while (на основе условия)

Цикл while повторяется, пока заданное булево выражение остаётся True. Идеален, когда число итераций заранее неизвестно.

x = 0
while x < 4:
    print(x)
    x += 1

Вывод:
0
1
2
3

Итерация по нечисловым коллекциям

Циклы for отлично работают со строками и другими коллекциями:

months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun']
for m in months:
    print(m)

Вывод:
Jan
Feb
Mar
Apr
May
Jun

Выход из цикла (break)

Оператор break немедленно завершает цикл. Полезен для раннего выхода при выполнении условия.

for x in range(10, 20):
    if x == 15:
        break
    print(x)

Вывод:
10
11
12
13
14

Пропуск итерации (continue)

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

for x in range(10, 20):
    if x % 5 == 0:
        continue
    print(x)

Вывод:
11
12
13
14
16
17
18
19

Использование enumerate() для индексированных циклов

Встроенная функция enumerate() добавляет счётчик к итерируемому объекту, возвращая пары индекс-значение.

months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun']
for i, m in enumerate(months):
    print(i, m)

Вывод:
0 Jan
1 Feb
2 Mar
3 Apr
4 May
5 Jun

Повторение инструкции несколько раз

Можно использовать цикл for над строкой цифр или range для повторения сообщения:

for i in '123':
    print('guru99', i)

Вывод:
guru99 1
guru99 2
guru99 3

Комплексная таблица примеров

Тип циклаКод
While loop
x = 0
while x < 4:
    print(x)
    x += 1
For loop (числовой)
for x in range(2, 7):
    print(x)
For loop (строка)
months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun']
for m in months:
    print(m)
Break в for loop
for x in range(10, 20):
    if x == 15:
        break
    print(x)
Continue в for loop
for x in range(10, 20):
    if x % 5 == 0:
        continue
    print(x)
Enumerate в for loop
months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun']
for i, m in enumerate(months):
    print(i, m)

Совместимость с Python 2

Примеры выше — синтаксис Python 3. Для Python 2 замените print() на print и учтите поведение range.

# While loop
x = 0
while x < 4:
    print x
    x += 1
# For loop
for x in range(2, 7):
    print x
# For loop over string
months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun']
for m in months:
    print m
# Break example
for x in range(10, 20):
    if x == 15:
        break
    print x
# Continue example
for x in range(10, 20):
    if x % 5 == 0:
        continue
    print x
# Enumerate example
for i, m in enumerate(months):
    print i, m

Вывод:
0
1
2
3

2
3
4
5
6

Jan
Feb
Mar
Apr
May
Jun

10
11
12
13
14

11
12
13
14
16
17
18
19

0 Jan
1 Feb
2 Mar
3 Apr
4 May
5 Jun

Для более глубоких справочников обратитесь к официальному руководству Python по управлению потоком.

Python

  1. Циклы while и do-while в C#: синтаксис, примеры и лучшие практики
  2. Цикл for в C#: синтаксис, поток выполнения и практические примеры
  3. Оператор break в C#: как и когда использовать
  4. Оператор continue в C#: как эффективно пропускать итерации циклов
  5. Операторы, отступы и комментарии в Python: понятное руководство
  6. Оператор pass в Python: практическое руководство
  7. Java-проверка чисел-палиндромов: алгоритмы с while и for циклами
  8. Освоение циклов Python: for, while, break, continue и enumerate
  9. Освоение функции range() в Python: от основ к продвинутым сценариям
  10. Освоение enumerate() в Python: циклы с индексами для списков, кортежей, строк и словарей