Lecture05_Python_Loops
Lecture05_Python_Loops
Итерации.
n=5 Повторяющиеся шаги
Результат:
Нет Да Программа:
n>0? 5
n = 5 4
print(n) while n > 0 : 3
print(n)
n = n – 1 2
n = n -1 print('Старт!') 1
print(n) Старт!
0
Цикл (набор повторяющихся шагов) имеет переменную — счетчик
print('Старт!') цикла, значение которой изменяется с каждым проходом цикла.
Обычно счетчик цикла / переменная цикла проходит через
последовательность чисел.
.
n=5 Бесконечный цикл
Нет n> Да
0? n = 5
while n > 0 :
print('Намылить')
print('Намылить')
print('Смыть')
print('Смыть') print('Высушить')
...
print('Готово!')
Окончание итерации с
помощью continue
Оператор continue завершает текущий шаг цикла, переходит в
начало цикла и начинает следующую итерацию цикла
while True:
> привет
line = input('> ')
привет
if line[0] == '#' :
continue > # не печатай это
if line == 'готово' : > напечатай это!
break напечатай это!
print(line) > готово
print('Готово!') Готово!
Окончание итерации с
помощью continue
Оператор continue завершает текущий шаг цикла, переходит к
началу цикла и начинает следующую итерацию цикла
while True:
> привет
line = input('> ')
привет
if line[0] == '#' :
continue > # не печатай это
if line == 'готово' : > напечатай это!
break напечатай это!
print(line) > готово
print('Готово!') Готово!
Нет
Верно ? Да
while True:
line = input('> ') ....
if line[0] == '#' :
continue
if line == 'готово' : continue
break
print(line)
print('Готово!') ...
('!')
print('Готово!')
Неопределенные циклы
• Циклы с оператором While называются «неопределенными
циклами», потому что они продолжают свое выполнение до
тех пор, пока логическое условие не станет равно
False/Ложь
i=2
Смотрите на переменные
Итерация по набору элементов
print('Начало')
Начало
for thing in [9, 41, 12, 3, 74, 15] : 9
print(thing) 41
print('Конец')
12
3
74
15
Конец
Какое из чисел больше?
Какое из чисел больше?
3
Какое из чисел больше?
41
Какое из чисел больше?
12
Какое из чисел больше?
9
Какое из чисел больше?
74
Какое из чисел больше?
15
Какое из чисел больше?
Какое из чисел больше?
3 41 12 9 74 15
Какое из чисел больше?
largest_so_far -1
Какое из чисел больше?
largest_so_far 3
Какое из чисел больше?
41
largest_so_far 41
Какое из чисел больше?
12
largest_so_far 41
Какое из чисел больше?
largest_so_far 41
Какое из чисел больше?
74
largest_so_far 74
Какое из чисел больше?
15
74
Какое из чисел больше?
3 41 12 9 74 15
74
Нахождение наибольшего значения
$ python largest.py
largest_so_far = -1 В начале -1
print('В начале', largest_so_far)
9 9
for the_num in [9, 41, 12, 3, 74, 15] :
if the_num > largest_so_far : 41 41
largest_so_far = the_num 41 12
print(largest_so_far, the_num) 41 3
74 74
print('В конце', largest_so_far) 74 15
В конце 74
Мы создаем переменную, которая хранит наибольшее значение, которое мы видели к
этому моменту. Если текущее число, на которое мы смотрим, больше, то оно
становится новым наибольшим значением, которое мы видели к этому моменту
Больше паттернов циклов…
Счет внутри цикла
$ python countloop.py
zork = 0 В начале 0
print('В начале', zork) 19
for thing in [9, 41, 12, 3, 74, 15] : 2 41
zork = zork + 1
print(zork, thing)
3 12
print('В конце', zork) 43
5 74
6 15
В конце 6
Чтобы подсчитать сколько раз выполняется цикл, мы вводим переменную-счетчик,
значение которой стартует с 0. Значение этой переменной с каждым проходом
цикла увеличивается на единицу
Суммирование в цикле
$ python countloop.py
zork = 0 В начале 0
print('В начале', zork) 99
for thing in [9, 41, 12, 3, 74, 15] : 50 41
zork = zork + thing
print(zork, thing)
62 12
print('В конце', zork) 65 3
139 74
154 15
В конце 154
Чтобы сложить значения, с которыми мы сталкиваемся в цикле, вводим
переменную суммы с начальным значением 0, а затем добавляем значение к
сумме каждый раз по ходу цикла.
Нахождение среднего
арифметического в цикле
count = 0 $ python averageloop.py
sum = 0 В начале 0 0
print('В начале', count, sum) 199
for value in [9, 41, 12, 3, 74, 15] : 2 50 41
count = count + 1 3 62 12
sum = sum + value 4 65 3
print(count, sum, value)
print('В конце', count, sum, sum /
5 139 74
count) 6 154 15
В конце 6 154 25.666