Differences between revisions 3 and 4
Revision 3 as of 2011-11-02 11:36:25
Size: 1985
Editor: FrBrGeorge
Comment:
Revision 4 as of 2011-11-02 11:59:37
Size: 3143
Editor: FrBrGeorge
Comment:
Deletions are marked like this. Additions are marked like this.
Line 20: Line 20:
  {{{#!highlight python
a,b,c = 0,5,7
print a < b < c, (a<b) < c
a,b,c = 0,7,5
print a < b < c, (a<b) < c
a,b,c = 5,7,0
print a < b < c, (a<b) < c
a,b,c = 5,0,7
print a < b < c, (a<b) < c
a,b,c = 7,5,0
print a < b < c, (a<b) < c
a,b,c = 7,0,5
print a < b < c, (a<b) < c
   }}}
Line 21: Line 35:
  1. Ввести три числа — длины сторон треугольника — и проверить корректность трекгольника   1. Ввести три числа — длины сторон треугольника — и проверить корректность треугольника
  {{{
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,"— это треугольник"
  }}}
Line 23: Line 44:
  {{{
from math import sqrt
Line 24: Line 47:
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)
  }}}
  '''Замечание''': в этом решении есть одна формальная ошибка (связанная с представлением данных), которая, тем не менее, никогда не возникнет в действительности

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

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

  • Нулевой элемент класса и трактовка истинности выражения
  • Логические операции and, or и not; соответствие таблиц истинности Python и классической Булевой алгебры

  • Оператор if, if … else и if … elif … elif … … else

    • Вложенный if

  • Понятие блока с отступом (indented block)
  • Логические операции сравнения, is и in

  • input() и raw_input(), eval()

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

  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)

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

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

  • {o} — тема по Linux

  • <!> ­— необязательная тема

  • {i} — теоретическое задание

  • {*} — тема для самостоятельного изучения


CategoryClass CategoryVmsh

LecturesVMSH/2011-10-26 (last edited 2011-11-02 12:01:13 by FrBrGeorge)