如何从v/24除法结果推导天数,实现分段等待时长计算?
实现方案
核心逻辑
根据v/24转换后的天数,对其向上取整得到乘数,再乘以基础等待时长0.0312,同时限制乘数最大为365(对应年度最大天数)。
完整代码
import math data = {"a": 24} # 示例数据,可根据实际场景替换 base_wait_hour = 0.0312 max_annual_days = 365 for k, v in data.items(): days = v / 24 if days <= 1: wait_time = base_wait_hour else: # 对天数向上取整,匹配对应的区间乘数 multiplier = math.ceil(days) # 限制乘数不超过年度最大天数365 multiplier = min(multiplier, max_annual_days) wait_time = base_wait_hour * multiplier
代码说明
math.ceil(days):精准匹配区间规则,比如1 < days <=2时取2,2 < days <=3时取3,完全符合需求中的区间对应关系min(multiplier, max_annual_days):避免输入天数超过365时产生不合理的乘数,若能确定输入天数不会超过365,可省略此步骤- 变量命名做了可读性优化,可根据实际需求调整名称
内容的提问来源于stack exchange,提问作者Babz
相关产品推荐
相关产品推荐

