某账户有本金若干,原计划存5年,采取两种不同的存款方式:一次存一年定期,存款到期后将利息和本金再存入的方式和一次存5年定期的方式,编程计算5年后两种存款方式分别获得的得款总额,一次定期存款利息是1.75%,5年定期存款等利息是2.75%(结果保留两位小数)
时间: 2024-11-15 11:24:39 浏览: 11
这个问题可以用递归的方式来解决,因为每次定期存款到期后都会产生新的本金,然后继续按照新本金计算下一期的利息。我们首先定义两个辅助函数,分别处理一年定期和五年定期的情况。
假设`principal`是原始本金,`annual_interest_rate`是一年的利息率,`five_year_interest_rate`是五年的利息率,`years`是要存款的总年数,这里`years`为5年。
```python
def calculate_annual(principal, annual_interest_rate):
return principal * (1 + annual_interest_rate)
def calculate_five_year(principal, five_year_interest_rate):
total = principal * (1 + five_year_interest_rate)
return total
# 一年定期存款
def one_year_deposit(principal, annual_interest_rate, years=1):
for _ in range(years - 1):
principal = calculate_annual(principal, annual_interest_rate)
return round(principal + calculate_annual(principal, annual_interest_rate), 2)
# 五年定期存款
def five_years_deposit(principal, five_year_interest_rate):
return round(calculate_five_year(principal, five_year_interest_rate), 2)
# 给定的利率和本金
original_principal = 10000
annual_interest_rate = 0.0175
five_year_interest_rate = 0.0275
# 分别计算两种方式的存款总额
annual_total = one_year_deposit(original_principal, annual_interest_rate)
five_year_total = five_years_deposit(original_principal, five_year_interest_rate)
# 输出结果
print("一年定期存款方式下的总得款:", annual_total)
print("五年定期存款方式下的总得款:", five_year_total)
阅读全文