Для закрепления материала о различных операторах разработаем простейший калькулятор, то есть программу, умеющую выполнять над двумя вещественными числами арифметические операции ( сложение, вычитание, умножение, деление) и завершающуюся по желанию пользователя.
Наш калькулятор будет работать так:
1. Запустить бесконечный цикл. Выход из него осуществлять с помощью оператора break, если пользователь вводит определенный символ вместо знака арифметической операции.
2. Если пользователь ввел знак, который не является ни знаком арифметической операции, ни символом -"прерывателем" работы программы, то вывести сообщение о некорректном вводе.
3. Если был введен один из четырех знаков операции, то запросить ввод двух чисел.
4. В зависимости от знака операции выполнить соответствующее арифметическое действие.
5. Если было выбрано деление, то необходимо проверить, не является ли нулем второе число. Если это так, то сообщить о невозможности деления.
Код программы приведен в листинге.
Листинг. Калькулятор
print("*" * 15, " Калькулятор " "*" * 10)
print("Для выхода введите q в качестве знака операции")
while True:
s = input("Знaк (+,-,*,/): ")
if s == 'q': break
if s in (, +,, , _,, , *,, , ; , ) :
х = fioat(input("x="))
у = fioat(input("y="))
if s == I + I;
print("%.2f" % (х+у))
е1if s == ' - ' :
print("%.2f" % (х-у))
elif s == ‘/’ :
if y != 0 :
print("%.2f" % (х/у))
else:
рrint("Деление на ноль!")
else:
рrint("Неверный знак операции!")
Посмотрим на вывод программы. Обратите внимание, как она реагирует на неверный ввод, например, если введено число вместо знака операции, или был введен О вместо у при делении:
*************** Калькулятор **********
Для выхода введите q в качестве знака операции
Знак ( +, -, *, /) : +
х=12
у =13
25.00
Знак ( +, -, *, /) : -
x= 100
у =25
75.00
Знак ( +, -, *, /) : /
х= 9
у =З
3.00
Знак ( +, -, *, /) : /
х= 9
у =0
Деление на ноль!
Знак ( +, -, *, /) : \
Неверный знак операции!
Знак ( +, -, *, /) : *
x= 1.25
у =4
5.00
Знак ( +, -, *, /) : q
>>>