admin管理员组文章数量:1794759
100个python算法超详细讲解:最佳存款方案
1.问题描述 假设银行一年整存零取的月为0.63%。现在某人手中有一笔钱, 他打算在今后5年中的每年年底取出1000元,到第5年时刚好取完,请 算出他存钱时应存入多少。 2.问题分析 根据题意,可以从第5年向前推算。已知“在今后5年中的每年年底 取出1000元,这样到第5年的时候刚好可以取完”,因此,第5年年底会 取出1000元,则可以计算出第5年年初在银行中所存的钱数为: 第5年年初存款数=1000/(1+12×0.0063) 据此推算出第4年、第3年直至第1年年初的银行存款数如下: 第4年年初存款数=(第5年年初存款数+1000)/(1+12×0.0063) 第3年年初存款数=(第4年年初存款数+1000)/(1+12×0.0063) 第2年年初存款数=(第3年年初存款数+1000)/(1+12×0.0063) 第1年年初存款数=(第2年年初存款数+1000)/(1+12×0.0063) 将推导过程用表格表示出来,如表1.3所示。
3.算法设计 根据上述分析,从第5年年初开始向前递推就可求出这个人应该在 银行中存钱的钱数。因此可以使用for循环语句,循环4次,每次循环都 在上一次的基础上加上1000,再除以(1+12×0.0063)。 4.完整的程序 根据上面的分析,编写程序如下:
#!/usr/bin/python3 # -*- coding: utf-8 -*- # @author : liuhefei # @desc: 最佳存款方案 if __name__=="__main__": i = 0 money = 0.0 while i < 5: money = (money + 1000)/(1 + 0.0063 * 12) i += 1 print("应该存入钱数为:%0.2f" %money) # 结果保留两位小数5.运行结果 在PyCharm下运行程序,结果如图1.13所示。由于在程序中控制了 输出结果的小数位数为两位,因此最后的计算结果为4039.44。
版权声明:本文标题:100个python算法超详细讲解:最佳存款方案 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1686633983a88821.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论