try: # Защищенный блок 2
d = b * b – 4 * a * c
x1 = (-b + math.sqrt(d)) / (2 * a)
x2 = (-b – math.sqrt(d)) / (2 * a)
print('d = ', d)
print('x1 = ', round(x1, 2))
print("x2 = " + format(x2, "#.2f"))
except: # Обработчик ошибок для защищенного блока 1
print("Нет решения!")
except: # Обработчик ошибок для защищенного блока 2
print("Неверные входные данные!")
input("Нажмите Enter для выхода") # Задержка перед выходом из программы
Введите A=1
Введите B=2
Введите C=-33
d = 136.0
x1 = 4.83
x2 = -6.83
Нажмите Enter для выхода
2.2.2 Практический пример с условием
# Программа получает ввод чисел X A B, затем выводит значение Y согласно
# y = (10 * (x + a^2)) / (b + a) если x >= 4
# y = 5 * (x + a^2 + b) если x < 4
def main(): # основная функция
# Получаем ввод X A B используя raw_input. Так как данный оператор всегда
# возвращает тип str, преобразовываем его в int используя оператор int()
# В питоне не обязательно объявлять переменные заранее, можно их объявлять
# сразу же присваивая значение. Тип переменной интерпретатор определяет сам
a = int(input('Введите A: '))
b = int(input('Введите B: '))
x = int(input('Введите X: '))
if x >= 4:
y = (10 * (x + a ** 2)) / (b + a)
else:
y = 5 * (x + a ** 2 + b)
# В питоне ' и " равнозначны. Выводим результат на экран. %.1f выводит
# значение типа float с точностью до одной десятой
print("y = %.1f" % y)
# Следующее условие предотвращает запуск программы, если она была импортирована
# в качестве модуля (к примеру import lab1)
if __name__ == '__main__':
main() # вызов основной функции
Введите A: 1
Введите B: 2
Введите X: 3
y = 30.0
2.3 Тернарный условный оператор
a = 10
b = 20
maximum = a if a > b else b