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

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

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

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

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

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

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

Цикл

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

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

Простой while:

   1 while условие:
   2     оператор1
   3     оператор2
   4 

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

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

Д/З

  1. Прощёлкать:
    • Главу в учебнике «Think Python»

    • Занятие в Pythontutor

    • Работу функции print(). Чем отличается

      1.    1    print(a, "#", b)
           2    print(a, "ЫЫЫ", b)
        
      2. от

           1    print(a, "#", b, sep="!")
           2    print(a, "ЫЫЫ", c, sep="---")
        
      3. и от

           1    print(a, "#", b, end="...")
           2    print(a, "ЫЫЫ", b)
        
  2. EJudge: ManualLogarithm 'Логарифм'

    Ввести положительное вещественное число Y: $$ 1/100 <= Y <= 1000 $$. Известно, что $$ 10^x=Y $$. Вычислить $$ x $$ с точностью $$ +-10^-7 $$, не используя модуль math и/или иные функции, вычисляющие логарифм. Ответом является любое число, которое отличается от правильного значения не больше, чем на $$ 10^-7 $$. Пользоваться операцией возведения в степень можно.

    Input:

    234.567
    Output:

    2.37026698989898
  3. EJudge: SquareIntersect 'Площадь пересечения'

    В столбик вводятся 2×N целых не равных нулю чисел — координаты левых верхних вершин квадратов размером 1000×1000 (N>0). Последовательность заканчивается двумя нулями. Вывести площадь пересечения всех этих квадратов — области, которая входит в каждый из них. Оси координат направлены вправо и вниз — это стандартная практика для компьютерных изображений.

    Input:

    -10
    10
    100
    100
    -300
    -200
    0
    0
    Output:

    420000
  4. EJudge: MinSin 'Наименьший синус'

    Ввести в столбик 2*N целых чисел, не равных нулю. Назовём меньшее число в очередной введённой паре A, а большее — B. Для чисел A, A+1, …, B-1, B выбирается такое, значение синуса на котором минимально. Вывести N таких чисел. A может быть больше, меньше или равно B (в последнем случае в наборе всего одно это число). Ввод заканчивается двумя нулями.

    Input:

    1
    10
    25
    9
    -200
    300
    1000
    -25
    0
    0
    Output:

    5
    11
    11
    344
  5. EJudge: MultTable 'Таблица умножения'

    Ввести два натуральных числа, M и N. Вывести таблицу умножения от 1×1 до M*N в приведённом ниже формате (по колонкам, но без учёта количества разрядов в числе).

    Input:

    4
    5
    Output:

    1 * 1 = 1; 2 * 1 = 2; 3 * 1 = 3; 4 * 1 = 4; 5 * 1 = 5
    1 * 2 = 2; 2 * 2 = 4; 3 * 2 = 6; 4 * 2 = 8; 5 * 2 = 10
    1 * 3 = 3; 2 * 3 = 6; 3 * 3 = 9; 4 * 3 = 12; 5 * 3 = 15
    1 * 4 = 4; 2 * 4 = 8; 3 * 4 = 12; 4 * 4 = 16; 5 * 4 = 20