2025-02-05 19:20:45 +00:00
|
|
|
import logging
|
2025-02-05 17:51:05 +00:00
|
|
|
|
2025-02-05 19:20:45 +00:00
|
|
|
# Configure logging
|
|
|
|
|
logging.basicConfig(
|
|
|
|
|
level=logging.INFO,
|
|
|
|
|
format="%(asctime)s [%(levelname)s] %(name)s - %(message)s",
|
|
|
|
|
)
|
|
|
|
|
logger = logging.getLogger(__name__)
|
2025-02-05 17:51:05 +00:00
|
|
|
|
2025-02-05 19:20:45 +00:00
|
|
|
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}
|