Python如何在for循环中执行累计数学运算 解决数值不迭代问题
代码修改方案
问题根因
- 你将初始接种量
c = 1.5的赋值放在了循环内部,每次循环执行时都会把数值重置为初始值,自然无法实现逐日累计增长 - 日增长率的换算属于固定值,放在循环内重复计算属于不必要的冗余逻辑
修正后代码
increase_rate = int(input("Enter the Percent Daily Increase Rate: ")) # 提前计算固定的日增长系数 growth_coef = 1 + increase_rate / 100 # 初始化2月10日的初始接种量 current_num = 1.5 for date in range(10, 21): print(f"On Feb {date}, {current_num:.1f} million were vaccinated") # 更新为下一日的接种量 current_num *= growth_coef
效果验证
输入增长率为40时,输出结果会按预期呈现:
- 2月10日:1.5百万
- 2月11日:2.1百万
- 2月12日:2.9百万
- 后续日期按40%的日增长率持续累计增长
内容的提问来源于stack exchange,提问作者efraindlopez
相关产品推荐
相关产品推荐

