Циклы

При написании алгоритма, нередко появляется необходимость выполнять одни и те же действия несколько раз подряд или перебирать элементы какого-то списка.

Вот некоторые примеры циклично повторяющихся действий:

  • Ожидание подключения клиента. После подключения, нам нужно ожидать следующего клиента, т.е. мы снова повторяем действие "Ожидание подключения клиента".
  • Отображения элемента списка. При разработке мессенджера, нам нужно отобразить на экране пользователя историю сообщений. Каждое сообщение отдельный элемент, и нам нужно отображать один за другим, т.е. выполнять одинаковые действия с каждым элементом списка.
  • Выполнение алгоритма, до тех пор пока условие не нарушено. Например, допустим у нас имеется автополив растений. Мы раз за разом проверяем условие, если влажность почвы ниже 30%, то включить помпу. Как видите здесь тоже имеет место цикличность.

Таким образом, можно сказать, что циклы используются для многократного выполнения блока кода. В python cуществуют два основных типа циклов: for и while.
Давайте рассмотрим каждый из них подробнее.


Цикл for

Цикл for используется для итерации по последовательности элементов (например, списку, кортежу, строке и т.д.).

Синтаксис цикла for:
for элемент in последовательность: # блок кода

Пример использования цикла for для перебора списка чисел:

numbers = [1, 2, 3, 4, 5] for number in numbers: print(number)
Этот код выведет:

1
2
3
4
5

Также цикл for может использоваться для итерации по строкам:
for char in "Python": print(char)
Этот код выведет:

P
y
t
h
o
n


Цикл while

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

Синтаксис цикла while:
while условие: # блок кода
Пример использования цикла while для вывода чисел от 1 до 5:
i = 1 while i <= 5: print(i) i += 1
Этот код выведет:

1
2
3
4
5


Функция range()

Функция range() в Python используется для генерации последовательности целых чисел. Она особенно полезна при работе с циклами for, позволяя легко создавать итераторы для перебора чисел в определённом диапазоне.

Функция range() принимает следующие параметры:

range(start, stop, step)
  • start Начальная точка последовательности. Если этот параметр опущен, то начальным значением будет 0.
  • stop Конечная точка последовательности. Важно отметить, что конечное значение не включается в диапазон.
  • step Шаг, с которым будут увеличиваться элементы последовательности. Если этот параметр опущен, шаг равен 1.
Примеры использования range()
for i in range(5): print(i)
Этот код выведет:

1
2
3
4

Здесь функция range(5) генерирует последовательность чисел от 0 до 4 (не включая 5).

Использование всех трёх параметров:
for i in range(2, 10, 2): print(i)
Этот код выведет:

2
4
6
8

Здесь функция range(2, 10, 2) генерирует последовательность чисел от 2 до 8 с шагом 2.

Отрицательный шаг:
for i in range(10, 0, -1): print(i)
Этот код выведет:

10
9
8
7
6
5
4
3
2
1

Здесь функция range(10, 0, -1) генерирует последовательность чисел от 10 до 1 с шагом -1.


Прерывание и продолжение циклов

Иногда необходимо прервать выполнение цикла досрочно или пропустить текущую итерацию. Для этого используются ключевые слова break и continue.

break - прерывает выполнение цикла немедленно.

for number in range(10): if number == 5: break print(number)

В данном примере цикл должен был бы выполнится 10 раз, однако когда переменная number станет равна 5 цикл встретит дериктиву break и завершится.

continue - пропускает оставшуюся часть текущей итерации и переходит к следующей.

for number in range(10): if number % 2 == 0: continue print(number)

Этот код выведет все нечетные числа от 0 до 9


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

Циклы могут быть вложенными друг в друга.

Например, для создания таблицы умножения:

for i in range(1, 11): for j in range(1, 11): print(f"{i} * {j} = {i * j}") print()

Этот код выведет таблицу умножения от 1 до 10.


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

Напоминаю, что от теории мало толку если не подкреплять её практикой, решайте задачи для закрипления материала. Решать задачи


Комментарии

Добавить комментарий

Чтобы оставить комменатрий необходимо Авторизоваться