Логические операции, операторы ветвления и цикла
Неявная динамическая типизация в Python
- Любые функции (методы) применимы к любым объектам
- Если в процессе выполнения происходит обращение к несуществующему объекту (полю), активизируется исключение
- Проверка существования объекта (поля) происходит в момент обращения к енму
(дополнительно) Все операции над объектами (типа +, [ , () и т. п.) — спецметоды объектов
Логические выражения
Сравнение, в т. ч. сравнение любого объекта с любым, операция is
Тип bool и операции and, or и not, условные вычисления
Понятие о нулевом элементе (класса) и методе __nonzero__
Операции and и or для произвольных объектов
- блеск и нищета конструкции вида a = b and c or d
Множественное присваивание
Конструкции типа a,b,c=d,e,f=1,2,"". Атомарность множественного присваивания и a,b=b,a
Условный оператор и операторы цикла
- Понятие «блок с отступом» (indented block)
Оператор if/elif/else, неструктурная сущность elif
Оператор while/break/continue. Клауза else.
Оператор for по итерируемому объекту (__iter__). Клауза else на примере задачи поиска.
Решние домашних заданий
- Использование редактора:
- Как оформлять и посылать Д/З
Ввод/вывод (input() и raw_input())
правила оформления и принципы выполнения Д/З
Д/З
См. ../HomeworkRules
Установить и настроить подходящий текстовый редактор или IDE (пример: настройка Geany)
Ввести два объекта Python и вывести первый ненулевой из них. Если оба нулевые, вывести NO.
[] 123
123
(Methods) Вывести в столбик поля объекта
Ввести объект Python и вывести в столбик имена тех его полей (независимо от типа ⇒ в т. ч. методов), которые не начинаются на «_»
1
bit_length conjugate denominator imag numerator real
(SecondMax) Найти второй максимум
Ввести список и вывести второй максимум этого списка, т. е. элемент a∈S : ∃ b∈S : b>a и a⩾c ∀c∈S, c≠b. Если второго максимума нет, вывести NO.
3,4,5,6,7
6
В первой строке ввести координаты центра круга и его радиус (числа x, y, r через запятую). Во второй строке ввести координаты точек (чётное количество чисел через запятую: x1, y1, x2, y2, ... xk, yk). Вывести YES, если все точки принадлежат кругу и NO, если не все.
x, y, r
YES