Различия между версиями 1 и 4 (по 3 версиям)
Версия 1 от 2021-09-30 13:05:03
Размер: 71
Редактор: FrBrGeorge
Комментарий:
Версия 4 от 2021-10-01 14:51:29
Размер: 3129
Редактор: FrBrGeorge
Комментарий:
Удаления помечены так. Добавления помечены так.
Строка 1: Строка 1:
== Логические выражения и цикл ==
'''TODO'''
= Логические выражения и цикл =
Разбор задачи «[[../Homework_TriangleCheck|Неравенство треугольника]]»
 * С вложенным `if`
 * С гипотезой о результате

Кстати, о максимуме из трёх:
 {{{#!python
M = M if (M := a if a > b else b) > c else c
 }}}


== Логические выражения ==
 * Вложенные условия → операция `and`
 * Любое условие из двух → `or`
 * Отрицание условия → `not`
|||||| '''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 ||
 * Ленивые вычисления
 * Перепишем неравенство треугольника
  * «проверка на __не__-треугольник» (просто not от исходного выражения!)
  * правило раскрытия скобок и `ǸOT` (или наоборот ☺)
далее — булева алгебра (кажется, была в школе)…

[[LecturesCMC/PythonIntro2021/02_Conditionals#A.2BBBAEOwQzBDUEMQRABDA_.2BBDsEPgQzBDgEOgQ4-|вся правда о логических выражениях в Python]]

== Цикл ==
Для записи алгоритма требуются (грубое предположение):
 1. переменные
 1. условные операторы
 1. циклы

Простой `while`:
{{{#!python
while условие:
    оператор1
    оператор2
    …
}}}
 * Пример: цикл со счётчиком
 * Каноническая схема цикла:
  0.#0 Инициализация
  1. Проверка условия
  1. Тело
  1. Изменение условия
 * Пhимер: таблица умножения на 6
 * Цикл по вводу
 * Поиск первого: флаговая переменная, `break` и `else`
 * Пропуск фрагмента кода: `continue`

== Вложенные циклы ==
Принцип: внутри цикла может быть что угодно. Если там вложенный цикл. он начнётся, отработает и закончится.
 * Пример: Цикл по вводу + цикл внутри
 * Пример: Таблица умножения от 2 до 6
  * Эффект от нарушения канонической схемы

== Д/З ==
 1.#0 Прощёлкать:
  * [[https://greenteapress.com/thinkpython2/html/thinkpython2008.html|Главу в учебнике «Think Python»]]
  * [[https://pythontutor.ru/lessons/while/|Занятие в Pythontutor]]
 1. '''TODO'''
 1. ?
 1. ?
 1. ?

Логические выражения и цикл

Разбор задачи «Неравенство треугольника»

  • С вложенным if

  • С гипотезой о результате

Кстати, о максимуме из трёх:

  •    1 M = M if (M := a if a > b else b) > c else c
    

Логические выражения

  • Вложенные условия → операция and

  • Любое условие из двух → or

  • Отрицание условия → not

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

  • Ленивые вычисления
  • Перепишем неравенство треугольника
    • «проверка на не-треугольник» (просто not от исходного выражения!)

    • правило раскрытия скобок и ǸOT (или наоборот ☺)

далее — булева алгебра (кажется, была в школе)…

вся правда о логических выражениях в Python

Цикл

Для записи алгоритма требуются (грубое предположение):

  1. переменные
  2. условные операторы
  3. циклы

Простой while:

   1 while условие:
   2     оператор1
   3     оператор2
   4 
  • Пример: цикл со счётчиком
  • Каноническая схема цикла:
    1. Инициализация
    2. Проверка условия
    3. Тело
    4. Изменение условия
  • Пhимер: таблица умножения на 6
  • Цикл по вводу
  • Поиск первого: флаговая переменная, break и else

  • Пропуск фрагмента кода: continue

Вложенные циклы

Принцип: внутри цикла может быть что угодно. Если там вложенный цикл. он начнётся, отработает и закончится.

  • Пример: Цикл по вводу + цикл внутри
  • Пример: Таблица умножения от 2 до 6
    • Эффект от нарушения канонической схемы

Д/З

  1. Прощёлкать:
  2. TODO

  3. ?
  4. ?
  5. ?

Python/GeoPython2021/04_Loops (последним исправлял пользователь FrBrGeorge 2021-10-31 21:49:00)