Добавить в корзинуПозвонить
Найти в Дзене
Николай Калюжный

Python - Циклы (VI)

В программировании циклы — это мощные инструменты, которые позволяют повторять блок кода несколько раз. Эта возможность имеет решающее значение, поскольку избавляет вас от необходимости писать один и тот же код снова и снова для задач, которые необходимо повторять. Вместо этого можно использовать циклы для автоматизации и эффективного управления этими повторениями. Зачем нужны циклы? Представьте, что вам поручено выполнить действие несколько раз, например проверить состояние различных сетевых устройств, обработать несколько пользовательских данных или перебрать список IP-адресов. Писать отдельные строки кода для каждого повторения нецелесообразно, особенно по мере роста количества повторений. Циклы решают эту проблему, позволяя выполнять блок кода столько раз, сколько необходимо, исходя из заданных вами условий. В этой части курса мы рассмотрим два основных типа циклов в Python: while Петли и for Петли. Мы также коснемся break , который предоставляет возможность остановить цикл до того
Оглавление

В программировании циклы — это мощные инструменты, которые позволяют повторять блок кода несколько раз. Эта возможность имеет решающее значение, поскольку избавляет вас от необходимости писать один и тот же код снова и снова для задач, которые необходимо повторять. Вместо этого можно использовать циклы для автоматизации и эффективного управления этими повторениями.

Зачем нужны циклы?

Зачем нужны циклы? Представьте, что вам поручено выполнить действие несколько раз, например проверить состояние различных сетевых устройств, обработать несколько пользовательских данных или перебрать список IP-адресов. Писать отдельные строки кода для каждого повторения нецелесообразно, особенно по мере роста количества повторений. Циклы решают эту проблему, позволяя выполнять блок кода столько раз, сколько необходимо, исходя из заданных вами условий.

Циклы 'while' и 'For'

В этой части курса мы рассмотрим два основных типа циклов в Python: while Петли и for Петли.

  • While Петли выполняется, если указанное условие имеет значение True. Они полезны, когда вы хотите повторить действие, но точное количество повторений заранее неизвестно.
  • For Петли используются для итерации по последовательности (например, списку, кортежу, словарю или строке) и выполнению блока кода для каждого элемента в последовательности. Они идеально подходят, когда вы знаете количество повторений или хотите выполнить действие с каждым элементом в коллекции.

Мы также коснемся break , который предоставляет возможность остановить цикл до того, как он пройдет по всем элементам.

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

Циклы 'while'

A while в Python многократно выполняет блок кода до тех пор, пока заданное условие имеет значение True. Это мощный инструмент, когда вам нужно выполнить действие несколько раз, но количество необходимых итераций неизвестно до начала цикла. Этот тип цикла продолжает выполняться до тех пор, пока условие не станет False или цикл не будет явно завершен.

while condition: # Block of code to execute

состояние- Это выражение, которое цикл вычисляет перед каждой итерацией. Если условие истинно, цикл продолжается со следующей итерацией. Если значение false, то цикл завершается.

Пример цикла while - таймер обратного отсчета

Допустим, вы хотите создать простой таймер обратного отсчета, который печатает числа от указанного числа до 1. A while Цикл идеально подходит для этого сценария, потому что он может постоянно уменьшать число и останавливаться, когда оно достигнет 1.

# Starting number for the countdown countdown = 5
# While loop for the countdown while countdown > 0: print(countdown) countdown -= 1 # Decrease the countdown by 1 in each iteration
print("Blast off!")

#output 5 4 3 2 1 Blast off!

В этом примере метод while loop проверяет, является ли метод countdown больше 0. Если true, он выводит текущее значение countdown а затем уменьшается countdown на 1. Так продолжается до тех пор, пока countdown больше не больше 0, на этом цикл заканчивается, и выводится «Blast off!».

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

Циклы 'For'

A for loop в Python используется для перебора последовательности (например, списка, кортежа, словаря, строки) или любого другого итерируемого объекта и выполнения блока кода для каждого элемента в последовательности. В отличие от while циклы, которые продолжаются до тех пор, пока условие не станет ложным, for Циклы обычно используются, когда количество итераций известно или определяется длиной итерируемого объекта. Это делает for Циклы особенно полезны для перебора структур данных поэлементно, выполнения операций или генерации последовательностей чисел. Вот синтаксис.

for item in sequence: # Block of code to execute

  • последовательность- Это итерируемый объект (список, кортеж, строка и т. д.), по которому вы хотите выполнить итерацию.
  • пункт- На каждой итерации цикла item Принимает значение следующего элемента в последовательности, и блок кода выполняется.

💡

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

Пример цикла for - Список продуктов

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

# List of grocery items grocery_list = ['apples', 'bananas', 'carrots', 'bread']
# For loop to print each grocery item for item in grocery_list: print("Need to buy:", item)

В этом примере метод for проходит по каждому пункту в grocery_list. При каждой итерации он присваивает переменной текущий элемент item а затем выполняет блок кода с отступом под for выписка, в которой распечатывается товар. Это приведет к тому, что каждый продуктовый товар будет напечатан в отдельной строке:

#output Need to buy: apples
Need to buy: bananas
Need to buy: carrots
Need to buy: bread

Пример цикла для - проверка состояния устройства

Представьте, что у вас есть список сетевых устройств и их статусов. Вы хотите проверить каждое устройство и распечатать сообщение, если устройство находится в автономном режиме.

# List of device statuses devices = ['online', 'offline', 'online', 'offline', 'online']
# For loop to check each device for status in devices: if status == 'offline': print("A device is offline!") else: print("A device is online")

#output A device is online
A device is offline!
A device is online
A device is offline!
A device is online

В этом примере метод for повторяет по devices список. Для каждой итерации он проверяет status устройства. Если у устройства status есть 'offline', он выводит "Устройство отключено!". В противном случае будет выведено сообщение «Устройство подключено к сети». Таким образом, вы можете быстро оценить состояние каждого устройства в вашей сети.

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

Оператор break

Тем break в Python используется для преждевременного выхода из цикла, даже если условие цикла не стало False. Он обеспечивает способ «вырваться» из петли изнутри своего тела, как правило, при определенных вами условиях. Это может быть особенно полезно при поиске элемента в коллекции или когда требуется остановить цикл при выполнении определенного условия, не дожидаясь, пока цикл пройдет по всем элементам.

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

device_statuses = ['online', 'online', 'offline', 'online', 'offline']
for status in device_statuses: if status == 'offline': print("Found an offline device. Stopping search.") break # Exit the loop immediately

В этом примере метод for цикл перебирает каждый элемент в device_statuses. При обнаружении устройства со статусом 'offline', он выводит сообщение, а затем выполняет команду break утверждение. Тем break Цикл немедленно завершается, и никакие другие элементы в списке не проверяются. Это эффективно, потому что он останавливает цикл, как только находит то, что ищет, экономя время и ресурсы.

Функции range()

Тем range() в Python генерирует последовательность чисел. Он обычно используется в циклах для указания количества раз цикла в цикле. Тем range() Функция может принимать один, два или три аргумента: start (необязательно, по умолчанию 0), stop (обязательно) и step (необязательно, по умолчанию 1).

Синтаксис range()

  • range(stop) - Генерирует числа от 0 до, но не включая, stop.
  • range(start, stop) - Генерирует числа из start до, но не включая, stop.
  • range(start, stop, step) - Генерирует числа из start до, но не включая, stop, увеличивая на step.

Воспользуемся параметром range() функция в простейшей форме, range(stop), чтобы вывести первые 5 целых чисел.

for i in range(5): print(i)

#output
0
1
2
3
4

💡

Когда вы используете range(5), он начинается с 0 и не 1 потому что Python, как и многие другие языки программирования, использует индексацию с нулями. Это означает, что первый элемент в последовательности индексируется по адресу 0 а не 1. Этот подход основан на способе доступа к памяти в низкоуровневом программировании, где смещение 0 обозначает отправную точку. Поэтому, когда вы используете range(5), он генерирует последовательность из 0 Кому 4, в соответствии с системой индексации Python.

Упражнение на цикл for - сумма положительных чисел

Объективный- Напишите скрипт на Python, который вычисляет сумму всех положительных чисел в заданном списке чисел.

  1. Вот список цифр - numbers = [1, -2, 3, 4, -5, 6, -7, 8]
  2. Используйте for для перебора каждого числа в списке.
  3. Если число положительное, прибавьте его к переменной sum.
  4. После завершения цикла выведите общую сумму положительных чисел.

Подсказки

  • Инициализация переменной total_sum Кому 0 перед началом цикла.
  • Используйте if в цикле, чтобы проверить, больше ли текущее число 0.
  • Не забудьте распечатать total_sum после цикла, чтобы увидеть результат.

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