Untitled
unknown
plain_text
9 months ago
1.4 kB
2
Indexable
from abc import ABC, abstractmethod class ErrorCalculator(ABC): def __init__(self, true_value, observed_value): self._true_value = true_value self._observed_value = observed_value @abstractmethod def calculate_errors(self): pass def get_true_value(self): return self._true_value def get_observed_value(self): return self._observed_value class SpecificErrorCalculator(ErrorCalculator): def calculate_errors(self): # Calculate Absolute Error absolute_error = abs(self._true_value - self._observed_value) # Calculate Relative Error if self._true_value != 0: relative_error = absolute_error / abs(self._true_value) else: relative_error = float('inf') # or handle division by zero appropriately # Calculate Percentage Error percentage_error = relative_error * 100 return absolute_error, relative_error, percentage_error # Example usage true_value = 45 observed_value = 50 calculator = SpecificErrorCalculator(true_value, observed_value) absolute_error, relative_error, percentage_error = calculator.calculate_errors() print(f"True Value: {calculator.get_true_value()}") print(f"Observed Value: {calculator.get_observed_value()}") print(f"Absolute Error: {absolute_error}") print(f"Relative Error: {relative_error}") print(f"Percentage Error: {percentage_error}%")
Editor is loading...
Leave a Comment