[#] Условный оператор
vit01(mira, 1) — All
2015-12-04 04:13:27


Дана следующая функция y = f(x):
    y = x - 0.5, при x > 0;
    y = 0, при x = 0;
    y = |x|, при x < 0.
Написать программу, определяющую значение y по переданному значению x.
Поскольку существует три "пути" вычисления значения функции и при этом третий
"путь" однозначно определяется исключением первых двух, то в данном случае
можно использовать конструкцию if-elif-else, а не if-elif-elif.
    print("y = f(x):\n\t| y = x - 0.5, если x > 0\n\t| \
    y = 0, если x = 0\n\t| y = |x|, если x < 0")
    x = float(input("x = "))
    if x > 0:
    	y = x - 0.5
    elif x == 0:
    	y = 0
    else:
    	y = abs(x)
    print('y = %.2f' % y)
В строке, переданной в функцию print(), используются специальные символы '\n'
и '\t'. Первый обозначает переход на новую строку, а второй - табуляцию
(отступ).
Символ '\' в конце строки позволяет перенести длинную строку в коде Python. Но
при выводе она будет выведена в одну линию.
Можно было не использовать ветку else, а использовать еще одну ветку elif с
условием x < 0. Также, в данном случае, вместо выражения y = abs(x) можно было
использовать y = -x. Однако так делать нельзя, если был бы неизвестен знак x.
Пример работы программы:
    y = f(x):
    	| y = x - 0.5, если x > 0
    	| y = 0, если x = 0
    	| y = |x|, если x < 0
    x = 2.3
    y = 1.80