English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Цикл for в Python может итерировать по элементам любого последовательного объекта, например списка или строки.
Цикл for в Python используется для итерации по элементам последовательности (list,tuple,string) или другого итерируемого объекта. Прогулка по последовательности называется遍ением.
for val in sequence: Тело for
Здесь val - это переменная, которая в каждом итерации получает значение элемента из последовательности.
Цикл продолжается до тех пор, пока мы не достигнем последнего элемента в序列е. Использование отступов помогает отделить тело цикла for от其余 кода.
# Программа находит сумму всех чисел, хранящихся в списке # Список чисел numbers = [6, 5, 3, 8, 4, 2, 5, 4, 11] # Переменная для хранения суммы sum = 0 # Прогулка по списку for val in numbers: sum = sum + val print("Общая сумма", sum)
Когда вы запустите программу, вывод будет следующим:
Общая сумма составляет 48
Мы можем использовать функцию 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])
Результат выполнения программы будет следующим:
Я люблю поп Я люблю рок Я люблю джаз
Цикл 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('Не найден элемент с таким именем.')
Результат вывода
Не найден элемент с таким именем.