Differences between revisions 2 and 3
Revision 2 as of 2008-11-26 09:17:50
Size: 92
Editor: FrBrGeorge
Comment:
Revision 3 as of 2008-11-26 10:01:58
Size: 2733
Editor: FrBrGeorge
Comment:
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
 * Что есть истина? http://docs.python.org/library/stdtypes.html#truth-value-testing // http://fantom-lab.narod.ru/Python/LerningPythonHelpRus/LibRef/002/002-3/002-3-01.htm
 * Логические операции. http://docs.python.org/library/stdtypes.html#boolean-operations-and-or-not // http://fantom-lab.narod.ru/Python/LerningPythonHelpRus/LibRef/002/002-3/002-3-02.htm
 * Сравнения. http://docs.python.org/library/stdtypes.html#comparisons // http://fantom-lab.narod.ru/Python/LerningPythonHelpRus/LibRef/002/002-3/002-3-03.htm
==== Задача ====
Ввести три числа и вывести, являются ли они сторонами треугольника (т. е. выполняется ли условие, что сумма любых двух чисел больше третьего).
  1.#0 Без использования логических операций
  {{{#!Python
# -*- coding: utf-8 -*-
a,b,c=input("Введите три числа через запятую: ")
if a<b+c:
  if b<a+c:
    if c<a+b:
      print a,b,c,"являются сторонами треугольника"
    else:
      print a,b,c,"НЕ являются сторонами треугольника"
  else:
    print a,b,c,"НЕ являются сторонами треугольника"
else:
  print a,b,c,"НЕ являются сторонами треугольника"
  }}}
  1. С использованием логических операций и ровно одного оператора `if`
  {{{#!Python
# -*- coding: utf-8 -*-
a,b,c=input("Введите три числа через запятую: ")
if a<b+c and b<a+c and c<a+b:
  print a,b,c,"являются сторонами треугольника"
else:
  print a,b,c,"НЕ являются сторонами треугольника"
  }}}
  1. Без использования оператора `if`
  {{{#!Python
# -*- coding: utf-8 -*-
a,b,c=input("Введите три числа через запятую: ")
print a,b,c,
print a<b+c and b<a+c and c<a+b and "являются сторонами треугольника" or "НЕ являются сторонами треугольника"
  }}}
  1. Без использования оператора `if` и не повторяя текста дважды:
  {{{#!Python
# -*- coding: utf-8 -*-
a,b,c=input("Введите три числа через запятую: ")
print a,b,c, not (a<b+c and b<a+c and c<a+b) and "НЕ" or "", "являются сторонами треугольника"
  }}}

Условные операторы и выражения

Ссылки по теме:

Задача

Ввести три числа и вывести, являются ли они сторонами треугольника (т. е. выполняется ли условие, что сумма любых двух чисел больше третьего).

  1. Без использования логических операций
       1 # -*- coding: utf-8 -*-
       2 a,b,c=input("Введите три числа через запятую: ")
       3 if a<b+c:
       4   if b<a+c:
       5     if c<a+b:
       6       print a,b,c,"являются сторонами треугольника"
       7     else:
       8       print a,b,c,"НЕ являются сторонами треугольника"
       9   else:
      10     print a,b,c,"НЕ являются сторонами треугольника"
      11 else:
      12   print a,b,c,"НЕ являются сторонами треугольника"
    
  2. С использованием логических операций и ровно одного оператора if

       1 # -*- coding: utf-8 -*-
       2 a,b,c=input("Введите три числа через запятую: ")
       3 if a<b+c and b<a+c and c<a+b:
       4   print a,b,c,"являются сторонами треугольника"
       5 else:
       6   print a,b,c,"НЕ являются сторонами треугольника"
    
  3. Без использования оператора if

       1 # -*- coding: utf-8 -*-
       2 a,b,c=input("Введите три числа через запятую: ")
       3 print a,b,c,
       4 print a<b+c and b<a+c and c<a+b and "являются сторонами треугольника" or "НЕ являются сторонами треугольника"
    
  4. Без использования оператора if и не повторяя текста дважды:

       1 # -*- coding: utf-8 -*-
       2 a,b,c=input("Введите три числа через запятую: ")
       3 print a,b,c, not (a<b+c and b<a+c and c<a+b) and "НЕ" or "", "являются сторонами треугольника"
    

LecturesVMSH/04_Conditionals (last edited 2008-11-26 19:38:13 by eSyr)