Содержание
Python – цикл for
Цикл for в Python перебирает объекты в переданных ему последовательностях, например – списки (lists) и строки (strings).
Синтаксис
Синтаксис цикла for
в Python такой:
for переменная in последовательность: действие(я)
Если последовательность содержит список выражений (операций) – сначала будут обработаны они. Далее, значение первого элемента в последовательности будет присвоено переменной (iterating_var на схеме). Далее выполняется блок кода “действие”. Так, значение каждого объекта в последовательности присваивается переменной цикла, и блок кода будет выполняться с ней до тех пор, пока не закончатся объекты в заданной последовательности (например – в списке).
Пример
for letter in 'Python': # First Example print 'Current Letter :', letter fruits = ['banana', 'apple', 'mango'] for fruit in fruits: # Second Example print 'Current fruit :', fruit print "Good bye!"
Результат выполнения этого кода:
Current Letter : P Current Letter : y Current Letter : t Current Letter : h Current Letter : o Current Letter : n Current fruit : banana Current fruit : apple Current fruit : mango Good bye!
Обработка в цикле по индексу последовательности
Ещё один вариант обработки последовательности в цикле – это обработка элементов последовательности по их индексам. Вот простой пример:
fruits = ['banana', 'apple', 'mango'] for index in range(len(fruits)): print 'Current fruit :', fruits[index] print "Good bye!"
Результат выполнения такого цикла:
Current fruit : banana Current fruit : apple Current fruit : mango Good bye!
Тут мы воспользовались встроенной функции len()
, которая вычисляет количество элементов в кортеже, и функций range()
, которая предоставляет нам элементы последовательности по их индексу.
Мы рассмотрим кортежи и некоторые встроенные функции языка Python далее.
Оператор else в цикле for
В языке Python можно использовать оператор else
вместе с циклами.
- если оператор
else
используется с цикломfor
– он будет выполнен, когда список для цикла будет завершен; - при использовании
else
вместе с цикломwhile
– он будет использован, когда условие примет значение ложь (false).
В следующем примере мы продемонстрируем использование оператора else
вместе с циклом for
, в котором производится поиск простых чисел от 10 до 20:
for num in range(10,20): #to iterate between 10 to 20 for i in range(2,num): #to iterate on the factors of the number if num%i == 0: #to determine the first factor j=num/i #to calculate the second factor print '%d equals %d * %d' % (num,i,j) break #to move to the next number, the #first FOR else: # else part of the loop print num, 'is a prime number'
Результат его работы будет таким:
10 equals 2 * 5 11 is a prime number 12 equals 2 * 6 13 is a prime number 14 equals 2 * 7 15 equals 3 * 5 16 equals 2 * 8 17 is a prime number 18 equals 2 * 9 19 is a prime number