Как сделать калькулятор в Python?
Для создания калькулятора в Python можно использовать несколько подходов. Мы рассмотрим два из них.
Первый подход использует функции. Для каждой арифметической операции будет создана отдельная функция, которая будет принимать два числа в качестве аргументов и возвращать результат. Например, для сложения можно создать функцию add:
python
def add(x, y):
return x + y
Для вычитания создадим функцию subtract:
python
def subtract(x, y):
return x - y
Для умножения - функцию multiply:
python
def multiply(x, y):
return x * y
Для деления - функцию divide:
python
def divide(x, y):
return x / y
После того, как мы создали функции, мы можем использовать их для выполнения операций. Например, чтобы выполнить операцию сложения, мы просто вызываем функцию add:
python
result = add(2, 3)
print(result) # результат: 5
Аналогично можем вызвать все остальные функции:
python
result = subtract(5, 2)
print(result) # результат: 3
result = multiply(4, 5)
print(result) # результат: 20
result = divide(10, 2)
print(result) # результат: 5.0
Но чтобы сделать полноценный калькулятор, нам нужно, чтобы пользователь мог вводить числа и выбирать операции. Для этого мы можем использовать цикл while, который будет выполняться до тех пор, пока пользователь не введет команду "выйти":
python
while True:
# Запрашиваем у пользователя операцию
print("Выберите операцию:")
print("1. Сложение")
print("2. Вычитание")
print("3. Умножение")
print("4. Деление")
print("5. Выйти")
choice = input("Введите номер операции (1-5): ")
# Проверяем выбранную операцию
if choice == '5':
break # Выходим из цикла, если выбрана команда "выйти"
# Запрашиваем у пользователя числа
num1 = float(input("Введите первое число: "))
num2 = float(input("Введите второе число: "))
# Выполняем выбранную операцию
if choice == '1':
result = add(num1, num2)
elif choice == '2':
result = subtract(num1, num2)
elif choice == '3':
result = multiply(num1, num2)
elif choice == '4':
result = divide(num1, num2)
else:
print("Неправильный ввод")
continue # Возвращаемся в начало цикла
# Выводим результат
print("Результат: ", result)
Это простая реализация калькулятора в Python, которую можно расширять и изменять по своему усмотрению.
Второй подход к реализации калькулятора в Python - использование символических выражений. Для этого нужно использовать модуль SymPy. Например, чтобы выполнить операцию сложения, мы можем написать такой код:
python
from sympy import *
x = Symbol('x')
y = Symbol('y')
expr = x + y
result = expr.subs({x: 2, y: 3})
print(result) # результат: 5
Аналогично можем выполнить все остальные арифметические операции. Полноценный калькулятор можно реализовать используя подход, который был описан выше по использованию функций. В этом случае мы можем написать функции для арифметических операций, которые будут использовать символические выражения:
python
from sympy import *
def add(x, y):
expr = x + y
return expr
def subtract(x, y):
expr = x - y
return expr
def multiply(x, y):
expr = x * y
return expr
def divide(x, y):
expr = x / y
return expr
x = Symbol('x')
y = Symbol('y')
while True:
# Запрашиваем у пользователя операцию
print("Выберите операцию:")
print("1. Сложение")
print("2. Вычитание")
print("3. Умножение")
print("4. Деление")
print("5. Выйти")
choice = input("Введите номер операции (1-5): ")
# Проверяем выбранную операцию
if choice == '5':
break # Выходим из цикла, если выбрана команда "выйти"
# Запрашиваем у пользователя числа
num1 = float(input("Введите первое число: "))
num2 = float(input("Введите второе число: "))
# Выполняем выбранную операцию
if choice == '1':
expr = add(x, y)
elif choice == '2':
expr = subtract(x, y)
elif choice == '3':
expr = multiply(x, y)
elif choice == '4':
expr = divide(x, y)
else:
print("Неправильный ввод")
continue # Возвращаемся в начало цикла
result = expr.subs({x: num1, y: num2})
# Выводим результат
print("Результат: ", result)
Это более сложный подход к реализации калькулятора в Python, который может быть полезен, если вам нужно решать более сложные математические задачи.