Top.Mail.Ru

Цикл For

В Python есть не только цикл While, но и цикл For.
Цикл for в Python — это команда, которая помогает повторять какое-то действие несколько раз и делает это очень удобно и просто. Если сравнивать с циклом while, то for обычно используют, когда заранее известно, сколько раз нужно повторить действия, или когда нужно пройтись по всем элементам чего-то, например по списку, строке или другому набору вещей.
  • Цикл for говорит компьютеру: «Возьми каждый элемент из этого набора и сделай с ним что то».
  • Например, если у вас есть список фруктов, цикл for поможет по очереди взять каждый фрукт и, например, напечатать его название

Вот как выглядит цикл for в Python:
for переменная in последовательность:
действие с переменной
Давайте посмотрим на части кода выше:

  • переменная — это как «коробочка», в которую по очереди попадает каждый элемент из последовательности. Например, название рассматриваемого файла, число из списка, буква из слова.
  • последовательность — это «коллекция», по которой мы идём: список, строка или какой-то еще набор элементов, которые можно перебрать по одному.
  • Всё, что пишется с отступом после двоеточия (:), будет выполняться для каждого элемента по очереди.

Посмотрим простейший пример:
friends = ["Анна", "Борис", "Вика"]

for friend in friends:
print("Привет, " + friend + "!")
Что происходит в этом цикле?

1. На первом шаге в переменную friend записывается значение "Анна", и программа печатает: «Привет, Анна!»
2. На втором шаге мы переопределяем переменную: friend = "Борис", поэтому выводится «Привет, Борис!»
3. На третьем шаге friend = "Вика", выводится: «Привет, Вика!»
4. Все элементы перебраны — цикл завершён.

Чтобы выполнить действие несколько раз или пройтись по числовой последовательности, часто используют функцию range():
for i in range(5):
print(i)
Как работает range (5)?

  • range (5) создаёт последовательность чисел: 0, 1, 2, 3, 4 (всего 5 чисел, с нуля).
  • На каждом круге цикла переменная `i` получает следующее число — и оно печатается.
  • Итог вывода:
0
1
2
3
4

В этом примере у функции range () был один аргумент, но вообще у этой функции может быть один, два или три аргумента:

  • range (n) — числа от 0 до n-1.
  • range (начало, конец) — числа от «начала» до «конца-1».
  • range (начало, конец, шаг) — числа с указанным шагом.

Ниже приведено несколько примеров применения функции:
for i in range(3, 7):
print(i) # 3, 4, 5, 6

for i in range(1, 10, 2):
print(i) # 1, 3, 5, 7, 9
Теперь давайте рассмотрим еще один пример реализации цикла, уже с использованием функции range (). Допустим, у нас 4 кусочка пиццы, и мы хотим отследить, сколько осталось:
slices = 4
for i in range(slices):
print("Кусочек пиццы съеден! Осталось:", slices - i - 1)
print("Пицца закончилась :(")
Рассмотрим, что происходит в этом коде:

  • Цикл сработает 4 раза (так как slices = 4).
  • Каждый раз вычитаем по одному кусочку — и показываем, сколько осталось.
  • После цикла выводим финальное сообщение.

Цикл for может проходить не только по элементам списка, но и по символам строки:
for letter in "привет":
print(letter)
Результат вывода — каждая буква на отдельной строке:
п
р
и
в
е
т
-

Задачи для самопроверки

Задача 1. Удвоение чисел

Дан список чисел: numbers = [2, 5, 8, 3]. Создайте новый список, в котором будут лежать удвоенные значения этих чисел. Используйте цикл for и метод append (). После цикла выведите новый список.

Решение:[[toggle]]
numbers = [2, 5, 8, 3]
doubled = []

for num in numbers:
doubled.append(num * 2)

print(doubled) # [4, 10, 16, 6]
Задача 2. Новый список с апельсином

Дан список фруктов: fruits = ["яблоко", «банан», «груша"]. Создайте новый список, в который добавьте все элементы из исходного списка, а после каждого «банан» добавьте «апельсин». Выведите итоговый список.

Решение:[[toggle]]
fruits = ["яблоко", "банан", "груша"]
new_fruits = []

for fruit in fruits:
new_fruits.append(fruit)
if fruit == "банан":
new_fruits.append("апельсин")

print(new_fruits) # ['яблоко', 'банан', 'апельсин', 'груша']

Кортежи