From e7868f47e665aea2b18ab26e25fe78b2b0c3ed39 Mon Sep 17 00:00:00 2001 From: agent Date: Fri, 21 Aug 2026 16:35:34 +0000 Subject: [PATCH] Add simple calculator --- calculator.py | 64 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 calculator.py diff --git a/calculator.py b/calculator.py new file mode 100644 index 0000000..9023d13 --- /dev/null +++ b/calculator.py @@ -0,0 +1,64 @@ +#!/usr/bin/env python3 +"""Простой калькулятор""" + + +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: + raise ValueError("Деление на ноль") + return a / b + + +def main(): + print("Простой калькулятор") + print("Операции: + - * /") + + while True: + expr = input("\nВведите выражение (или 'exit' для выхода): ") + + if expr.lower() == 'exit': + break + + try: + parts = expr.split() + if len(parts) != 3: + print("Ошибка: используйте формат 'число оператор число'") + continue + + a = float(parts[0]) + op = parts[1] + b = float(parts[2]) + + if op == '+': + result = add(a, b) + elif op == '-': + result = subtract(a, b) + elif op == '*': + result = multiply(a, b) + elif op == '/': + result = divide(a, b) + else: + print("Неизвестная операция") + continue + + print(f"Результат: {result}") + + except ValueError as e: + print(f"Ошибка: {e}") + except Exception as e: + print(f"Ошибка: {e}") + + +if __name__ == "__main__": + main()