计算银行利率

最近博主的一位朋友打算向银行存钱,赚取利息,其中有几种方案。朋友一看,光看数字,根本不知道哪个方案好,甚至用纸用笔算,也算不出来。

方案如下:

这一开始属实难倒我了,没有公式很难做出来,但我不急,我有电脑。

首先,可以把每年的钱设为Y,Y一开始可以是0,每年增加10000,到了20年后就不用加10000了,大概如下:

 首先先将已知条件写成一个函数,代码如下:

def count(x):
    y=0
    for i in range(0,45):
        if i<20:
            y=(y+10000)*(x+1)
        if i>=20:
            y=y*(x+1)
    if y>=819999 and y<=820001:
        print("x的值为:",x)
        print("y的值为:",y)
        return 0

这里为什么要给y一个取值范围,因为利率是一个很小的数,基本是不可能刚好等于整数的,这里我将范围缩小到2,基本精确度是很高了。

接下来需要设置一个x的最大取值范围和最小取值范围

max=0.0922200
min=0.0000100

然后进行枚举x,每次加0.00000005

if __name__=='__main__':
    while min<=max:
        min=min+0.00000005
        n=count(min)

答案就出来了

 完整代码如下:

def count(x):
    y=0
    for i in range(0,45):
        if i<20:
            y=(y+10000)*(x+1)
        if i>=20:
            y=y*(x+1)
    if y>=819999 and y<=820001:
        print("x的值为:",x)
        print("y的值为:",y)
        return 0

max=0.0922200
min=0.0000100
if __name__=='__main__':
    while min<=max:
        min=min+0.00000005
        n=count(min)
        if n==0:
            print("已解决")
            break

年利率=0.039808000000629735

问题已解决!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值