Циклы в Python
Добавить в избранноеЦиклы - это фундаментальная концепция программирования, позволяющая многократно выполнять блок кода до тех пор, пока не будет достигнуто определённое условие. В языке Python существует два основных типа циклов: while и for. Рассмотрим их подробнее.
Цикл while
Цикл while выполняет блок инструкций до тех пор, пока заданное условие остаётся истинным (True). Синтаксис цикла while выглядит следующим образом:
while условие: инструкция1 инструкция2 ...
Пример:
number = 1 while number < 5: print(f"number = {number}") number += 1 print("Работа программы завершена")
В этом примере цикл while будет выполняться, пока переменная number меньше 5. В каждом проходе цикла значение переменной увеличивается на единицу, и выводится текущее значение переменной. Когда number станет равным 5, цикл завершится, и программа выведет сообщение о завершении работы.
Блок else в цикле while:
Python позволяет добавлять блок else к циклу while. Этот блок выполняется, когда условие цикла становится ложным (False).
Пример с блоком else:
number = 1 while number < 5: print(f"number = {number}") number += 1 else: print(f"number = {number}. Работа цикла завершена") print("Работа программы завершена")
Здесь после завершения цикла while, когда number станет равным 5, выполнится блок else, который выведет сообщение о завершении работы цикла.
Пример, когда блок while не выполняется, но блок else выполняется:
number = 10 while number < 5: print(f"number = {number}") number += 1 else: print(f"number = {number}. Цикл не выполнялся")
В этом примере условие цикла while изначально ложно (number = 10), поэтому блок while не выполнится ни разу. Однако блок else всё равно выполнится, и программа выведет сообщение number = 10. Цикл не выполнялся.
Такой пример показывает, что блок else может использоваться для обработки ситуации, когда цикл while вообще не выполняется, что добавляет гибкость в написании кода.
Цикл for
Цикл for используется для итерации по последовательности элементов, таких как списки, строки или диапазоны чисел. Синтаксис цикла for выглядит следующим образом:
for переменная in последовательность: инструкция1 инструкция2
Пример:
message = "Hello" for c in message: print(c)
Этот цикл последовательно перебирает каждый символ строки message и выводит его на экран. Результат выполнения будет следующим:
H
e
l
l
o
Использование функции range() в цикле for
Функция range() часто используется с циклом for для генерации числовой последовательности. Например:
for n in range(4, 10): print(n, end=" ")
Этот код сгенерирует и выведет на экран числа от 4 до 9:
4 5 6 7 8 9
Функция range() также поддерживает шаг итерации:
for n in range(0, 10, 2): print(n, end=" ")
Этот код выведет только чётные числа от 0 до 8:
0 2 4 6 8
Вложенные циклы
Циклы могут быть вложенными друг в друга. Вложенные циклы часто используются для работы с многомерными данными, например, для вывода таблицы умножения:
for i in range(1, 10): for j in range(1, 10): print(i * j, end="\t") print()
Этот код выведет таблицу умножения от 1 до 9.
Операторы break и continue
Операторы break и continue позволяют управлять выполнением циклов.
break завершает выполнение цикла досрочно.
continue пропускает текущую итерацию и переходит к следующей.
Пример с break:
number = 0 while number < 5: number += 1 if number == 3: break print(f"number = {number}")
Этот код завершит выполнение цикла, когда number станет равным 3.
Пример с continue:
for number in range(1, 6): if number == 3: continue print(f"number = {number}")
В этом примере цикл пропустит вывод числа 3, но продолжит выполнять остальные итерации.
Заключение
Циклы в Python - это мощный инструмент, который позволяет оптимизировать выполнение кода и автоматизировать повторяющиеся задачи. Понимание и умение работать с циклами while и for открывает широкие возможности для разработки эффективных программ.