python-3.x - 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。
我的操作关闭了吗?对于我应该改变的任何建议,我将不胜感激。谢谢!
解决方案
你超级亲密。问问自己,为什么要(tuition * increase)
逐年增加?
学费增加的年份应该与增加本身无关。因此,您的 for 循环应采用以下形式:
for year in range(0, 6):
tuition += (tuition * increase)
print(tuition, '\t', year)
这应该给你同样的答案,你的老师也提供了。
推荐阅读
- webservice-client - 使用 Ws 导入创建客户端不生成服务和端口类
- html - 防止子元素上的框阴影
- c - 如何在 ubuntu 上使用 Makefile 编译 C 程序?
- javascript - 使用 node.js 从本地服务器检索响应数据
- three.js - THREE.js 添加子弹作为精灵并单独旋转每个
- java - gradle 4.9 - gradlew 和 java 10 仍然得到:无法从 '10' 确定 java 版本
- angularjs - angularjs复选框控制台中的响应不正确
- tensorflow - ValueError:使用序列设置数组元素。(TensorFlow) 成本函数
- html - 改变html元素的位置?
- python - 在扫描操作期间为 dynamodb 更新 STS 凭据