Опубликован: 14.06.2015 | Доступ: свободный | Студентов: 4657 / 500 | Длительность: 21:48:00
Авторские права: Creative Commons Attribution 3.0
Самостоятельная работа 5:

Итерации

< Самостоятельная работа 1 || Самостоятельная работа 5: 123

10.5. Завершение итерации с помощью continue

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

Далее представлен пример цикла, который копирует данные, поступающие на его вход до тех пор, пока не будет введено "done". Если строка начинается с символа #, то она не будет выводиться на печать (похоже на комментарии в Python).

while True:
       line = raw_input('> ')
       if line[0] == '#' :
           continue
       if line == 'done':
           break
       print line
print 'Done!'

Все строки, которые вводятся с клавиатуры, будут выведены на экран, кроме тех, которые начинаются с символа #.

10.6. Определение циклов с помощью for

Иногда мы хотим пройти в цикле через множество (set) вещей, таких как список слов, строки в файле или список чисел. Когда у нас есть подобный список, мы можем построить определенный (definite) цикл с использованием инструкции for. Мы вызывали инструкцию while в неопределенных (indefinite) циклах, т.к. циклы работали до того момента, пока условие не станет False. Цикл for проходит через известное множество элементов, т.е. столько раз, сколько элементов содержится во множестве.

Синтаксис цикла for похож на цикл while, здесь есть инструкция for и тело цикла:

friends = ['Joseph', 'Glenn', 'Sally']
for friend in friends:
       print 'Happy New Year:', friend
print 'Done!'

Переменная friends является списком (в следующих главах вы об этом узнаете подробнее) из трех строк, цикл for проходит через список и выполняет тело цикла для каждой из трех строк:

Happy New Year: Joseph
Happy New Year: Glenn
Happy New Year: Sally
Done!

Посмотрите на цикл for, здесь for и in являются зарезервированными словами, friend и friends являются переменными.

for friend in friends:
       print ’Happy New Year’, friend

В частности, friend является итерационной переменной для цикла for.

Переменная friend изменяется для каждой итерации цикла и контролирует, когда цикл for завершится.

10.7. Шаблоны цикла

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

Эти циклы обычно строятся по следующей схеме:

  • Инициализация одной или более переменных до начала выполнения цикла.

  • Выполнение некоторых вычислений для каждого элемента в теле цикла, возможно, изменение переменных в теле цикла.

  • Просмотр результирующих переменных, когда цикл завершился.

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

< Самостоятельная работа 1 || Самостоятельная работа 5: 123
Ксения Шошина
Ксения Шошина

курс Программирование на Python

Илья Кизилов
Илья Кизилов

В лекции приводится программа для сортировки слов по их длинне. В коде ошибка. Я исправил так:

def sort_by_length(words):

words = words.split()

t = []

for word in words:

t.append((len(word), word))

t.sort(reverse=True)

res = []

for length, word in t:

res.append(word)

return res

print(sort_by_length(words))

 

Кто ещё как сделал?

 

Владислав Клокол
Владислав Клокол
Украина, Харьков, ХВВКУ РВ, 1993
Шахризод Хомидов
Шахризод Хомидов
Узбекистан