English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Python базовый учебник

Python управление потоком

Функции Python

Типы данных Python

Python файловые операции

Python объекты и классы

Даты и время в Python

Продвинутые знания Python

Руководство Python

Цикл for в Python

Цикл for в Python может итерировать по элементам любого последовательного объекта, например списка или строки.

Что такое цикл for в Python?

Цикл for в Python используется для итерации по элементам последовательности (list,tuple,string) или другого итерируемого объекта. Прогулка по последовательности называется遍ением.

Синтаксис цикла for

for val in sequence:
	Тело for

Здесь val - это переменная, которая в каждом итерации получает значение элемента из последовательности.

Цикл продолжается до тех пор, пока мы не достигнем последнего элемента в序列е. Использование отступов помогает отделить тело цикла for от其余 кода.

Схема цикла for

Схема цикла for в Python

Пример: Цикл for на Python

# Программа находит сумму всех чисел, хранящихся в списке
# Список чисел
numbers = [6, 5, 3, 8, 4, 2, 5, 4, 11]
# Переменная для хранения суммы
sum = 0
# Прогулка по списку
for val in numbers:
    sum = sum + val
print("Общая сумма", sum)

Когда вы запустите программу, вывод будет следующим:

Общая сумма составляет 48

Функция range()

Мы можем использовать функцию range() для генерации числовых последовательностей. range(10) будет генерировать числа от 0 до 9 (10 чисел).

Объект range в определенном смысле является

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

Чтобы强制 функция выводить все элементы, можно использовать функцию list().

Данный пример продемонстрирует это.

print(range(10))
print(list(range(10)))
print(list(range(2, 8)))
print(list(range(2, 20, 3)))

Результат вывода

range(0, 10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[2, 3, 4, 5, 6, 7]
[2, 5, 8, 11, 14, 17]

Мы можем использовать функцию range() в цикле for для итерации по числовой последовательности. Ее можно использовать вместе с функцией len() для индексации последовательности. Вот пример.

# Программа для использования индекса для遍жения списка
genre = ['pop', 'rock', 'jazz']
# Пример использования индекса для遍жения списка
for i in range(len(genre)):
    print("Я люблю", genre[i])

Результат выполнения программы будет следующим:

Я люблю поп
Я люблю рок
Я люблю джаз

Цикл с else

Цикл for может также иметь необязательный блок else.

Если элементы из используемого в цикле for последовательности исчерпаны, то выполняется блок else.

Ключ break может использоваться для остановки цикла for. В этом случае блок else будет пропущен.

Если в цикле for не произошло прерывания, то выполняется блок else части цикла for.

Это пример для пояснения.

digits = [0, 1, 5]
for i in digits:
    print(i)
else:
    print("Не осталось элементов.")

Результат выполнения программы будет следующим:

0
1
5
"Не осталось элементов."

В этом случае цикл for будет печатать элементы списка, пока цикл не будет исчерпан. Когда цикл for исчерпан, он выполняет блок кода else и выводит ""Не осталось элементов."

for...else-конструкция может использоваться вместе с ключом break, чтобы запускать блок else только в том случае, если не был выполнен ключ break. Давайте приведем пример:

# Программа для отображения оценок учащихся
student_name = 'Soyuj'
marks = {'James': 90, 'Jules': 55, 'Arthur': 77}
for student in marks:
    if student == student_name:
        print(marks[student])
        break
else:
    print('Не найден элемент с таким именем.')

Результат вывода

Не найден элемент с таким именем.