Python循环、列表与函数实现:计算200吨物资消耗天数
计算物资可支撑天数的Python实现
完整实现代码
def calculate_support_days(total_supply=200, initial_consumption=5, increase_rate=0.2): daily_consumptions = [] total_used = 0 days = 0 current_consumption = initial_consumption # 循环迭代直到累计消耗接近总物资 while total_used + current_consumption <= total_supply: daily_consumptions.append(current_consumption) total_used += current_consumption days += 1 # 计算次日消耗量(较前一日增加20%) current_consumption *= (1 + increase_rate) # 输出结果 print(f"可支撑完整天数:{days}天") print(f"每日消耗量明细:{[round(cons, 2) for cons in daily_consumptions]}") print(f"累计消耗总量:{round(total_used, 2)}吨") return days, daily_consumptions, total_used # 调用函数执行计算 calculate_support_days()
代码说明
- 列表的使用:
daily_consumptions用来记录每天的具体消耗量,方便后续查看明细 - 循环逻辑:用
while循环持续计算每日消耗,直到新增的当日消耗会导致累计用量超过200吨时停止 - 变量更新:每次循环后更新累计消耗量、天数,并计算下一日的消耗量(乘以1.2实现20%的增长)
- 结果优化:输出时对数值做了四舍五入,让结果更易读
与你原有代码的差异
你之前的函数仅完成了单次消耗量的递增计算,缺少循环迭代和累计消耗的判断逻辑。上面的代码通过循环持续迭代,同时跟踪累计用量,直到满足停止条件,完全实现了需求。
内容的提问来源于stack exchange,提问作者Pmileika
相关产品推荐
相关产品推荐

