Logo

郎哥编程

怎么存钱最划算?

2020-05-03 182

1、问题的提出

当人们需要把钱存入银行赚取利息时,会有多种存款方式,每种存款方式的存期和利率都不相同。下表列出了银行部分整存整取项目的存款利率。    

01.png

阿萌现在有1万元的本金,他希望在银行存款一年,按照上表列出的存款项目,阿萌如何存款才能让本金取得最好的收益?

2、建立数学模型

按照上表的存款项目,阿萌有下面几种存款方式:

(1)选择存款三个月的项目,复利存四次。即第一次存款三个月满期后,本金和利息再存三个月,以此类推,存满一年;

(2)选择存款六个月的项目,复利存两次。即第一次存款六个月满期后,本金和利息再存六个月,存满一年;

(3)选择存款一年的项目。

只要计算出上面三种存款方式的最终本金利息和,其中本金利息和最多的存款方式,就是最划算的存款方式。

计算本金利息和的数学模型为:

02.png


其中,F为本金利息和,P为本金,r为每期的利率,n为存期。这也是复利计算数学模型。

复利计算数学模型可以计算上面三种存款方式的本金利息和。第一种方式:r为年利率除以12乘以3,n为4(复利4次);第二种方式:r为年利率除以12乘以2,复利2次;第三种方式:r为1.75%,复利1次。

 3、编写程序求解模型

复利计算数学模型需要用户输入本金,模型需要的存期和利率在程序内部设置。

03.png


程序流程图如下:

04.png


(1)   接收用户输入的本金;

(2)   判断用户输入的本金是否是整数;

(3)用模型计算三种存款方式的本金利息和,并存储到一个列表内;

(4)输出三种存款方式的本金利息和;

(5)输出提示信息,提示信息为“输入N退出程序,其它继续”;

(6)等待用户的输入,如果用户输入N,程序结束,否则跳转到步骤(1)。

程序代码如下:


'''
程序文件:main.py
功能描述:怎样存钱最划算
代码编写时间:2020/05/01
作者:编程训练营
'''
# 程序入口
if __name__ == '__main__':
 
    while(True):
        # 接收用户输入的本金
        P = input("请输入本金:")
        # 本金是否是整数
        if P.isdigit():
            # 创建一个空列表
            num_list = []
            # 计算三个月的存款利息
            r = 0.0135 / 12 * 3
            # 计算三个月存款方式的本金利息和
            F = int(P) * pow((1+r),4)
            num_list.append("三个月存款,复利4次,本金利息和为:%.2f" % (F))
            # 计算六个月的存款利息
            r = 0.0155 / 12 * 6
            # 计算六个月存款方式的本金利息和
            F = int(P) * pow((1+r),2)
            num_list.append("六个月存款,复利2次,本金利息和为:%.2f" % (F))
            # 计算一年的存款方式
            F = int(P) * pow((1+0.0175),1)
            num_list.append("一年存款,复利1次,本金利息和为:%.2f" % (F))
           
        else:
             print("本金输入错误")
        # 输出三种存款方式的本金利息和
        for obj in num_list:
            print(obj)
        # 程序继续或退出
        temp = input("输入N退出程序,其它继续:")
        # 判断temp的内容
        if temp == "N":
            break;

代码解读

代码使用input函数获取用户输入的本金,并赋值给P,然后判断P是否是整数。若是整数,分别用模型计算三种存款方式的本金利息和,将计算结果保留2位有效小数后,以字符串的方式添加到num_list列表。最后遍历num_list列表,输出num_list列表的所有元素。

另外,存期为三个月或六个月的存款方式的利率为年利率,因此程序需要分别计算出三个月和六个月的利息。计算方式为年利率除以12,然后乘以3是三个月的利率,乘以6是六个月的利率。

05.png

从程序输出结果可以看出,10000元本金存期一年,还是选择一年存款方式最划算。虽然三个月和六个月的存款方式可以复利计算,但利息太低了。


代码在线纠错(通义千问 qwen-max)

支持粘贴多个代码文件,提交后由阿里云通义千问自动分析代码漏洞、语法错误、逻辑问题并给出修改建议。
您已解锁 AI 代码纠错功能,可正常使用!

评论区

登录 后发表评论
暂无评论