首页 > 解决方案 > Python 不正确的值

问题描述

我正在执行一项任务,该任务实现了 while 和 for 循环来计算未来 5 年每年的学费,当时初始金额为 8000 并且每年增加 3%。

我的程序有效,但是当我实际计算预计的学费时,我得到了错误的值。

In
-------------------
tuition = 8000
increase = 0.03
tuition_total = 0

for year in range(0, 6):
    tuition += ((tuition * increase) * year)
    print(tuition, '\t', year)

Out
-------------------
    8000.00     0
    8240.00     1
    8734.40     2
    9520.49     3
    10662.95    4
    12262.39    5

根据我老师写的作业,这些值应该是:

1年的学费为8240.00。

2年内,学费为8487.20。

3年后,学费为8741.82。

4年后,学费为9004.07。

5年后,学费为9274.19。

我的操作关闭了吗?对于我应该改变的任何建议,我将不胜感激。谢谢!

标签: python-3.x

解决方案


你超级亲密。问问自己,为什么要(tuition * increase)逐年增加?

学费增加的年份应该与增加本身无关。因此,您的 for 循环应采用以下形式:

for year in range(0, 6):
    tuition += (tuition * increase)
    print(tuition, '\t', year)

这应该给你同样的答案,你的老师也提供了。


推荐阅读