Как сделать калькулятор в python?

Как сделать калькулятор в python? Python

Три примера реализации калькулятора на 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, от простого до более сложного с обработкой ошибок и циклом для многократных вычислений

Оцените статью
Уроки программирования
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest
0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x