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