Логические выражения, условные операторы, рекурсия и цикл
Алгебра логики
Операции сравнения, тип bool, True и False
Алгебра логики над bool
or
and
A
B
A or B
A
B
A and B
False
False
False
False
False
False
False
True
True
False
True
False
True
False
True
True
False
False
True
True
True
True
True
True
Python3: and, or, not; низкий приоритет
- Пустые и непустые объекты Python3
- Алгебра логики над произвольными объектами Python3
- OR: если A истинно, результат истинен, вычислять B не надо
- ⇒ Python: если A истинно, результат равен A, иначе B
- AND: если A ложно, результат ложен, вычислять B не надо
- ⇒ Python: если A ложно, результат равен A, иначе B
⇒ частичное вычисление выражений A и B (например, 3+3 or 100/0)
||or
and
A
B
A or B
A
B
A and B
Пусто
Пусто
B
Пусто
Пусто
A
Пусто
Непусто
B
Пусто
Непусто
A
Непусто
Пусто
A
Непусто
Пусто
B
Непусто || Непусто || A || || Непусто || Непусто || B ||
- OR: если A истинно, результат истинен, вычислять B не надо
Выполнение, обусловленное свойствами данных
Условная операция выражение-True if выражение-условие else выражение-false
Условный оператор: if, if / else, if [/ elif [/ elif ... [else]...]]
Вложенный if и and
Рекурсивный вызов функции
- Условный оператор в функции: рекурсия
- рекурсия — «тяжелая» операция: создание/удаление контекста
- ⇒ ограничение по глубине
⇒ критерий log(N)
Актуально конечная рекурсия:
- Инициализация
- Проверка условия
- (Полезная нагрузка)
- Изменение объектов, участвующих в условии
- Примитивная рекурсия (счётчик)
Общая рекурсия (пока данные внезапно не обретут свойства)
Цикл (если успеем)
- Хвостовая рекурсия и Гвидо
Цикл while
break / continue
поиск первого и else к циклу
Д/З
Прочитать и отщёлкать пятую главу учебника
Прочитать и отщёлкать шестую главу учебника
TODO задание на АЛ
TODO задание на АЛ
TODO задание на рекурсию/цикл
TODO задание на рекурсию/цикл