65 lines
1.5 KiB
Python
65 lines
1.5 KiB
Python
#!/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()
|