counting / maths /arithmetic /arithmetic_with_visualization.py
spagestic's picture
algebra & arithmetic modularized
9b3b8c8
raw
history blame
1.05 kB
import matplotlib.pyplot as plt
from typing import Any, Tuple
from .add import add
from .subtract import subtract
from .multiply import multiply
from .divide import divide
from .number_line_visualization import create_number_line_visualization
def arithmetic_with_visualization(a: float, b: float, operation: str) -> Tuple[Any, plt.Figure]:
"""Perform arithmetic operation and return result with visualization."""
try:
a, b = float(a), float(b)
if operation == 'add':
result = add(a, b)
elif operation == 'subtract':
result = subtract(a, b)
elif operation == 'multiply':
result = multiply(a, b)
elif operation == 'divide':
result = divide(a, b)
if isinstance(result, str):
return result, None
else:
return "Error: Unknown operation", None
fig = create_number_line_visualization([a, b], operation, result)
return result, fig
except Exception as e:
return f"Error: {str(e)}", None