我正在做一个作业,该作业实施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
根据我老师写的作业,这里的值应该是:
一年内的学费为8240.00。
两年内的学费为8487.20。
三年内,学费为8741.82。
四年内,学费为9004.07。
5年后,学费将为9274.19。
我要关闭手术吗?对于我应该改变的任何建议,我们将不胜感激。谢谢!
答案 0 :(得分:1)
您超级亲密。问问自己,为什么您将(tuition * increase)
乘以一年?
学费增加的年份应独立于增加本身。因此,您的for循环应采用以下形式:
for year in range(0, 6):
tuition += (tuition * increase)
print(tuition, '\t', year)
这应该给您与您的老师同样的答案。