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