import logging # Configure logging logging.basicConfig( level=logging.INFO, format="%(asctime)s [%(levelname)s] %(name)s - %(message)s", ) logger = logging.getLogger(__name__) def __main__(probability:float): logger.info("Received input: probability=%.8f", float(probability)) if not isinstance(probability, (int, float)): logger.error("Invalid input type: probability=%s", type(probability).__name__) raise ValueError("Input probability must be a number (int or float)") if probability <= 0.219999999999999: grade = "A1" elif 0.219999999999999 < probability <= 0.339999999999999: grade = "A2" elif 0.339999999999999 < probability <= 0.419999999999999: grade = "B1" elif 0.419999999999999 < probability <= 0.514999999999999: grade = "B2" elif 0.514999999999999 < probability <= 0.559999999999999: grade = "C1" else: grade = "C2" logger.info(f"PD V1 Grade {grade}") return {"grade":grade}