Каноническая схема цикла
Повторение:
 Условный оператор 
 Цикл for имя in последовательность: … 
 Оператор break — немедленный выход из цикла 
Цикл while
Простой вариант:
- Сначала проверяется условие
 Если оно выполнено (True), выполняется тело, после чего переходим к п. 1
Если не выполнено (False), работа цикла заканчивается
Упражнения
 ввести число и делить его пополам. Пока оно не ноль 
 преобразовать к циклу while такой фрагмент: 
Каноническая схема цикла
Мнемоническая структура, которой в подавляющем большинстве случаев нужно уподоблять циклические конструкции в программе. Каноническая схема состоит из четырёх частей. Пропуск любой из этих частей в программе может повлечь за собой ошибку алгоритма.
- Инициализация. Присваивание начальных значений объектам, которые участвуют в проверке условия. Выполняется один раз перед входом в цикл. Следующие шаги выполняются итеративно. 
- Проверка условия. Если условие ложно, цикл заканчивает работу.
 - Тело. Полезная нагрузка — действия, ради которых написан цикл.
 Изменение. Изменение объектов, которые участвуют в проверке условия. Переход к п. 1.
 
Упражнения
 Где в предыдущем упражнении все 4 шага? 
 Цикл по вводу (ввести числа по одному в строке, вывести 2*n+1, конец ввода — пустая строка). Обратите внимание на 4 шага! input() input()-у рознь…
 Посчитать сумму чисел в этом упражнении 
Полный вариант:
Часть False выполняется, если условие — False
В таком виде смысла не имеет. Но в случае наличия break выход происходит всегда мимо else
 «Поиск первого». Вводить строки (пустая строка — конец ввода), если среди них попадётся строка с пробелом, вывести эту строку и остановиться, а если нет — вывести "NOPE". 
 Вводить и складывать числа (пустая строка — конец ввода). Когда сумма превысит 100, вывести "МНОГО", если не превысит — "МАЛО". 
 В цикле for тоже есть клауза else:, и работает она так же: если цикл закончился break — не выполняется, если закончилась последовательность — выполняется 
 Модифицировать программу так, чтобы можно было ввести шаг и проверить с разными шагами 
Вложенные циклы
Внутри цикла может быть что угодно — например, цикл!
 Нетаблица умножения (в столбик): 
 Модифицировать так, чтобы вышло покрасивее — 8 строк, 8 столбцов 
 Вспомним про форматную строку, например f"{a:2}" 
 Модифицировать так, чтобы вышло ещё красивее (без «гробика») 
 Задача: вводить числа (пустая строка — конец ввода) и выводить их наибольший делитель 
 Составляем алгоритм: - Ввести строку
 - Пока она непуста: 
- превращаем её в число
 - по всем возможным делителям этого числа, начиная с наибольшего (n // 2 + 1) 
- Если число на это делится (остаток от деления нулевой) 
- Вывести делитель и выйти из внутреннего цикла
 
 
 - Если число на это делится (остаток от деления нулевой) 
 - Ввести следующую строку
 
 
 Переводим на Python 
(если будет время) Ещё такие задчки
Д/З
Отщёлкать Шестое занятие учебника и решить первые 10 задач.
 Обратите внимание на то, что последовательностью в учебнике называется не какая-либо Python-последовательность, а процесс ввода данных пользователем. Хранить эти последовательности в решениях не предполагается, это их только усложнит. 
Скопировать решения в соответствующие файлы и проверить, что они всё ещё работают!
Имена файлов — от prog_6_1.py до prog_6_10.py
Прислать эти 10 файлов в виде десяти приложений к одному письму по адресу <uneexlectures AT cs DOT msu DOT ru>
В поле Subject должно быть «слово» PhilosoPython2022 (другие слова тоже можно ☺)
