Логические операции, условные операторы и модуль math

Условные операторы, то, что с ними связано, и математические функции.

Домашнее задание

  1. {i} Прочитать про логические выражения и условные операторы в учебнике

  2. Проверить, является ли сравнение вида a < b < c тройственным сравнением, аналогично a == b == c

       1 a,b,c = 0,5,7
       2 print a < b < c, (a<b) < c
       3 a,b,c = 0,7,5
       4 print a < b < c, (a<b) < c
       5 a,b,c = 5,7,0
       6 print a < b < c, (a<b) < c
       7 a,b,c = 5,0,7
       8 print a < b < c, (a<b) < c
       9 a,b,c = 7,5,0
      10 print a < b < c, (a<b) < c
      11 a,b,c = 7,0,5
      12 print a < b < c, (a<b) < c
    
    1. <!> Проверить сравнения A1 < A2 < … < An и A1 == A2 == … == An

  3. Ввести три числа — длины сторон треугольника — и проверить корректность треугольника
    a,b,c = input("ВВедите длины сторон треугольника a,b,c: ")
    if a>=b+c or b>=a+c or c>=a+b:
        print a,b,c,"— это НЕ треугольник"
    else:
        print a,b,c,"— это треугольник"
  4. Ввести коэффициенты квадратного уравнения a, b, и c и решить его
    from math import sqrt
    
    A,B,C = input("Введите A,B,C из уравнения Ax²+Bx+С=0: ")
    D=B*B-4*A*C
    if D<0:
        print "Уравнение не имеет решений"
    elif D==0:
        print "X =",-B/(2*A)
    else:
        print "X₁ =",(-B+sqrt(D))/(2*A)
        print "X₁ =",(-B-sqrt(D))/(2*A)

    Замечание: в этом решении есть одна формальная ошибка (связанная с представлением данных), которая, тем не менее, никогда не возникнет в действительности

Условные обозначения


CategoryClass CategoryVmsh