Python利率计算器解决本金翻倍、定期取款、多重利率和通货膨胀等问题

目录

一.原理

二.实际问题举例

多利率问题 

存款与本金翻倍 

存款与定期取款 

 存款与通货膨胀


一.原理

利用python中的for循环或者while循环来计算利率或者解决复利问题。

其中涉及到不同场景下的不同利率问题,利用不同的公式与方法解决。

二.实际问题举例

1.问题描述:小A的爸爸有5万元积蓄存入银行,考虑到在存续期间可能会有其他用途,因此他选择了1年定期,自动转存的方式。5年后他会有多少收益呢?假设5年内存款利率没有变化,均为3.25%,5年后到期存款总额是多少?

代码:

money=50000#本金
rate=0.0325#利率
for i in range(5):
     money=money*(rate+1)
print("五年以后的存款为",money,"元")

通过python中的for循环可以总结出一套存款的代码(利率计算器):

money=float(input("请输入本金:"))#本金
rate=float(input("请输入利率:"))#利率
year=int(input("请输入存款年数:"))
for i in range(year):
     money=money*(rate+1)
print(year,"年以后的存款为",money,"元")

 输出效果:

 

多利率问题 

 2.问题描述:小A的爸爸有5万元积蓄存入银行,考虑到在存续期间可能会有其他用途,因此他选择了1年定期,自动转存的方式。假设5年内存款利率分别为3.25%,3%,3.85%,2.8%,3%,5年后到期存款总额是多少?

方法一代码:

money=50000#本金
rate=[0.0325,0.03,0.0385,0.028,0.03]#利率
for i in rate:
     money=money*(i+1)
print("5年以后存款总额:",money,"元")

输出效果:

 方法二代码:

money=50000#本金
rate=[0.0325,0.03,0.0385,0.028,0.03]#利率
for i in range(5):
     money=money*(rate[i]+1)
print("5年以后存款总额:",money,"元")

存款与本金翻倍 

3.问题描述:小A的爸爸有5万元积蓄存入银行,考虑到在存续期间可能会有其他用途,因此他选择了1年定期,自动转存的方式。如果小A的爸爸一直没有把钱取出来,假设存款利率没有变化,均为3.25%,多少年后,存款会翻倍?

代码:

money=50000#本金
rate=0.0325#年利率
year=0
while money<50000*2:
    money=money*(1+rate)
    year+=1
print("第",year,"年翻倍,总存款为:",round(money,2),"元")

故我们可以总结出一套翻倍(赚回本金)的代码:

money=money1=float(input("请输入本金"))
rate=float(input("请输入年利率"))
year=0
while money<money1*2:
    money=money*(1+rate)
    year+=1
print("第",year,"年翻倍,总存款为:",round(money,2),"元")

输出效果:

存款与定期取款 

4.问题描述:小A的爸爸购买了10万元一年期收益率3.7%的银行保证收益型理财产品。每年理财赎回后,他会提取2万元用作生活所需,余下资金仍购买此种理财。在收益率不变的情况下,多少年后资金被全部取出,并显示最后一次小A爸爸能拿到多少钱?(定存定取)

代码:

money=100000
rate=0.037
year=0
while money>=0:#保证还有钱在吃利息
    money=money*(1+rate)-20000
    year=year+1
print(year,"年后资金被全部取出")
money=money+20000
print("第",year,"年拿到:",round(money,2),"元")

故我们同样也可以推出一个关于定期取出的代码:

money=float(input("请输入本金:"))
rate=float(input("请输入年利率:"))
m=float(input("请输入定期取出金额(每年):"))
year=0
while money>=0:#保证还有钱在吃利息
    money=money*(1+rate)-m
    year=year+1
print(year,"年后资金被全部取出")
money=money+m
print("第",year,"年拿到:",round(money,2),"元")

 存款与通货膨胀

 5.问题描述:小A的爸爸有5万元积蓄存入银行,考虑到在存续期间可能会有其他用途,因此他选择了1年定期,自动转存的方式。假设5年内存款利率没有变化,均为3.25%,假设五年内通货膨胀率均为2.5%,那么五年后所有储蓄总是否购买力高于原购买力?高于或者低于多少?(通货膨胀)

 eg:如果通胀率为5%,一种商品今年卖100元 ,则次年卖105元。

第二年的价格和第一年价格的关系是:

当年价格 = 次年价格 / 1.05

所持金额不变时,价格为购买力的倒数,推导得到如下公式:

次年购买力 = 当年购买力 / 1+通货膨胀率

主题思路:

1.先计算第一年本金与利率的总和

2.计算第一年总和贬值后的购买力

3.以上循环进行5次,最后输出结果

代码实现:

money=money1=50000#本金
rate=0.0325#利率
m=0.025#通货膨胀率

for i in range(5):
    money=money*(rate+1)
    money=money/(1+m)
if money>money1:
	print("现购买力高于原购买力")
	money=money-money1
	print("差值约为",round(money,2),"元")#保留两位小数
elif money<money1:
	print("原购买力高于现购买力")
	money=money1-money
	print("差值约为",round(money,2),'元')
else:
    print("原购买力等于现购买力")
		

输出效果:

物联沃分享整理
物联沃-IOTWORD物联网 » Python利率计算器解决本金翻倍、定期取款、多重利率和通货膨胀等问题

发表评论