美文网首页日更成长营自学编程Python
自学Python:如何存款收益最高

自学Python:如何存款收益最高

作者: 小强聊成长 | 来源:发表于2021-11-25 13:11 被阅读0次

    情况如下,一个银行整存整取存款不同期限的年率为:1年1.75%;2年2.25%;3年2.75%;5年2.75%;8年2.75%;小强手上有50000元,如何存钱,使得这笔钱存入银行20年后获得的利息最多。假定银行对超出存款期限的那部分时间不付利息。

    想要获得最多的利息,就需要在一笔钱到期后立即取出,连本带息一起存入获取下一个获取收益。那是3年3年的存呢?还是先存5年5年的存?或者其他组合?还是用程序跑一遍,计算一下各种情况的收益,那一种最高。

    下面直接上代码:

    ########################

    if __name__=="__main__":

        #在20年中,1年期限的存了x1次,2年期限的存了x2次,以此类推

        max = 0.0

        for x8 in range(0,3):

            t5 = (20-8*x8)//5    #存款5年的最大次数

            for x5 in range(0, t5+1):

                t3 = (20-8*x8-5*x5)//3    #存款3年的最大次数

                for x3 in range(0, t3+1):

                    t2 = (20-8*x8-5*x5-3*x3)//2

                    for x2 in range(0, t2+1):

                        x1 = 20-8*x8-5*x5-3*x3-2*x2    # 存款期限限定条件

                        # 判断条件

                        result = 50000* ((1+0.0175)**x1) *((1+2*0.0225)**x2)* \

      ((1+3*0.0275)**x3) *((1+5*0.0275)**x5) * ((1+8*0.0275)**x8)

                        # y1、y2、y3、y5、y8用于记录获利最多的存款方式

                        if result > max:

                            max = result

                            y1 = x1

                            y2 = x2

                            y3 = x3

                            y5 = x5

                            y8 = x8

        # 输出结果

        print("获得利息最多的存款方式为:");

        print("8年期限的存了%d次" %y8);

        print("5年期限的存了%d次" %y5);

        print("3年期限的存了%d次" %y3);

        print("2年期限的存了%d次" %y2);

        print("1年期限的存了%d次" %y1);

        print("存款人最终的获得的本利合计:%0.2f" %result);

    ########################

    执行结果如下:

    获得利息最多的存款方式为:

    8年期限的存了0次

    5年期限的存了1次

    3年期限的存了5次

    2年期限的存了0次

    1年期限的存了0次

    存款人最终的获得的本利合计:81969.44

    结果很让人意外,和直觉感觉的不一样。

    ________________END______________

    相关文章

      网友评论

        本文标题:自学Python:如何存款收益最高

        本文链接:https://www.haomeiwen.com/subject/bllbtrtx.html