Главное меню:
Автор | Сообщение |
|
#1 29.03.2025 22:41 Калькулятор на Python
Вот простой калькулятор на Python с использованием функций для основных арифметических операций: ```python def add(a, b): """Сложение двух чисел""" return a + b def subtract(a, b): """Вычитание двух чисел""" return a - b def multiply(a, b): """Умножение двух чисел""" return a * b def divide(a, b): """Деление двух чисел""" if b == 0: return "Ошибка: деление на ноль!" return a / b def calculator(): print("Добро пожаловать в калькулятор Python!") print("Доступные операции:") print("1 - Сложение (+)") print("2 - Вычитание (-)") print("3 - Умножение (*)") print("4 - Деление (/)") print("0 - Выход") while True: try: choice = input("\nВыберите операцию (1/2/3/4/0): ") if choice == '0': print("Выход из калькулятора.") break if choice not in ('1', '2', '3', '4'): print("Неверный ввод. Пожалуйста, выберите 1, 2, 3, 4 или 0.") continue num1 = float(input("Введите первое число: ")) num2 = float(input("Введите второе число: ")) if choice == '1': print(f"Результат: {num1} + {num2} = {add(num1, num2)}") elif choice == '2': print(f"Результат: {num1} - {num2} = {subtract(num1, num2)}") elif choice == '3': print(f"Результат: {num1} * {num2} = {multiply(num1, num2)}") elif choice == '4': print(f"Результат: {num1} / {num2} = {divide(num1, num2)}") except ValueError: print("Ошибка: пожалуйста, вводите только числа!") except Exception as e: print(f"Произошла ошибка: {e}") # Запускаем калькулятор if __name__ == "__main__": calculator() ``` ## Возможности этого калькулятора: 1. Сложение, вычитание, умножение и деление 2. Проверка деления на ноль 3. Обработка ошибок ввода 4. Простой текстовый интерфейс 5. Возможность выхода из программы ## Как улучшить: 1. Добавить возведение в степень 2. Добавить вычисление квадратного корня 3. Реализовать работу с памятью (как в обычных калькуляторах) 4. Сделать графический интерфейс с помощью Tkinter или PyQt 5. Добавить историю вычислений Хотите, чтобы я добавила какую-то из этих функций или объяснил какую-то часть кода подробнее? |