Содержание
Три примера реализации калькулятора на Python:
Простой калькулятор с использованием функций:
def add(x, y):
return x + y
def subtract(x, y):
return x - y
def multiply(x, y):
return x * y
def divide(x, y):
return x / y
print("Выберите операцию:")
print("1. Сложение")
print("2. Вычитание")
print("3. Умножение")
print("4. Деление")
while True:
choice = input("Введите номер операции (1/2/3/4): ")
if choice in ('1', '2', '3', '4'):
num1 = float(input("Введите первое число: "))
num2 = float(input("Введите второе число: "))
if choice == '1':
print(num1, "+", num2, "=", add(num1, num2))
elif choice == '2':
print(num1, "-", num2, "=", subtract(num1, num2))
elif choice == '3':
print(num1, "*", num2, "=", multiply(num1, num2))
elif choice == '4':
print(num1, "/", num2, "=", divide(num1, num2))
next_calculation = input("Выполнить еще вычисление? (да/нет): ")
if next_calculation.lower() != "да":
break
else:
print("Неверный ввод")
Калькулятор с использованием условных операторов:
operator = input("Введите оператор (+, -, *, /): ")
num1 = float(input("Введите первое число: "))
num2 = float(input("Введите второе число: "))
if operator == "+":
result = num1 + num2
elif operator == "-":
result = num1 - num2
elif operator == "*":
result = num1 * num2
elif operator == "/":
result = num1 / num2
else:
print(f"{operator} не является допустимым оператором")
exit()
print(round(result, 3))
Калькулятор с использованием цикла while и обработкой ошибок:
def calculate(n1, n2, op):
if op == '+':
return n1 + n2
elif op == '-':
return n1 - n2
elif op == '*':
return n1 * n2
elif op == '/':
return n1 / n2
elif op == '^':
return n1 ** n2
else:
raise ValueError('Недопустимый оператор')
continue_calculating = True
while continue_calculating:
try:
number1 = float(input('Введите первое число: '))
op = input('Введите оператор (+, -, *, /, ^): ')
number2 = float(input('Введите второе число: '))
result = calculate(number1, number2, op)
if result.is_integer():
result = int(result)
print('=', result)
yes_or_no = input('Продолжить? (д/н): ')
if yes_or_no.lower() != 'д':
continue_calculating = False
except ValueError as e:
print(f"Ошибка: {e}")
except ZeroDivisionError:
print("Ошибка: деление на ноль")
Эти примеры демонстрируют различные подходы к созданию калькулятора в Python, от простого до более сложного с обработкой ошибок и циклом для многократных вычислений