Python编程算法【六】 最佳存款方案
【案例内容】
假设银行一年整存零取的月息为0.63%,现在某人手中有一笔钱,他打算在今后5年中的每年年底取出1000元,到第5年刚好取完,请算出他存钱时应存入多少?
【解题思路】
根据题意,5年后,这个人领出的钱总共是5000,我们可以先假设一个数,当作他存入的钱数,比如1000,然后计算5年后,加上利息,存入的钱最终变会为多少:
rate = 0.0063
money = 1000
for year in range(5):
for i in range(12):
money *= (1 + rate)
print(money)
经过如上代码计算,得出的总数,四舍五入后是1458,也就是存入1000,还加上了利息,也才1458,距离5000是远远不够的。经推算至少要存入4000,5年后加上利息才会超过5000。于是我们可以用for循环,起始值为4000,终止值可以设大点,比如10000,一旦只要找到符合要求的数值,立刻break就可以了。
【Python代码】

小结:本题经过分析,可得知5年后一共领取了5000元,因此起初存入的钱数,哪怕每年都不领取,经过5年再加利息,至少要有5000元,从而推算出,一开始存入的钱数至少要4000,然后再根据题意,用循环算出一开始要存入的准确数额,记得四舍五入。