Найти тему
Будни питониста

Простейший калькулятор.

Для закрепления материала о различных операторах разработаем простейший калькулятор, то есть программу, умеющую выполнять над двумя вещественными числами арифметические операции ( сложение, вычитание, умножение, деление) и завершающуюся по желанию пользователя.

Наш калькулятор будет работать так:

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

>>>