from fastapi import APIRouter from pydantic import BaseModel INDEX = "EBITDA利润率(%)" router = APIRouter() class Params(BaseModel): 短期借款: float 交易性金融负债: float 应付票据: float 一年内到期的非流动负债: float 其他短期有息债务: float 长期借款: float 应付债券: float 其他长期有息债务: float 所有者权益: float @router.post("/{}".format(INDEX)) def func(p: Params): try: m = p.短期借款 + p.交易性金融负债 + p.应付票据 + p.一年内到期的非流动负债 + p.其他短期有息债务 + p.长期借款 + p.应付债券 + p.其他长期有息债务 d = p.短期借款 + p.交易性金融负债 + p.应付票据 + p.一年内到期的非流动负债 + p.其他短期有息债务 + p.长期借款 + p.应付债券 + p.其他长期有息债务 + p.所有者权益 result = m / d return round(result, 6) except ZeroDivisionError: return "+inf" # 此处本应为算式无意义,特殊处理为正无穷大 except Exception: return "计算错误"