You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python编程疑问:循环计算学费增长时数值未递增却重复

解决学费逐年递增的循环程序问题

嘿,刚接触编程就动手写作业啦,挺厉害的!我来帮你搞定这个学费增长的问题~

问题根源

你现在得到重复值的核心原因是:代码没有在循环过程中更新学费的数值,每次打印的都是初始的8000美元,自然看不出增长效果。

修正后的完整代码

tuition_increase = 0.03
tuition = 8000
years = 5

# 打印表头,用\t来对齐列
print('Year\tProjected Tuition')
print('------------------------')

# 循环遍历未来5年(从第1年到第5年)
for year in range(1, years + 1):
    # 打印当前年份和对应的学费,格式化保留两位小数符合货币习惯
    print(f'{year}\t${tuition:.2f}')
    # 关键步骤:更新学费,让它按照3%的增长率递增
    tuition = tuition * (1 + tuition_increase)

代码解释

  • 用range(1, years + 1)生成1到5的年份数,确保循环正好执行5次,对应未来5年的学费计算。
  • 每次循环先打印当前年份的学费,再更新学费数值——这一步千万不能搞反,不然会先打印增长后的学费,对应不上年份。
  • :.2f是格式化字符串的语法,用来把浮点数保留两位小数,让输出的学费看起来更规范。

可选:计算五年总学费

如果需要统计五年的总学费,可以加个累加变量,代码调整如下:

tuition_increase = 0.03
tuition = 8000
years = 5
total_tuition = 0  # 初始化总学费变量

print('Year\tProjected Tuition')
print('------------------------')

for year in range(1, years + 1):
    print(f'{year}\t${tuition:.2f}')
    total_tuition += tuition  # 累加当前年份的学费
    tuition = tuition * (1 + tuition_increase)

# 打印总学费
print(f'\nTotal tuition over 5 years: ${total_tuition:.2f}')

内容的提问来源于stack exchange,提问作者Matthew Lapriore

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 03:44:10