python:复利计算

烂漫一生 提交于 2020-01-11 22:24:06

写一个理财计算器,实现将每日/月/年的利息进行复投进行计算

fuli.py

# coding: utf-8
# 写一个理财计算器,实现将每日/月/年的利息进行复投进行计算

money = float(input('请输入您打算用来投资的本金:PV: '))
year = int(input('请输入投资期限(单位:年):N: '))
rate = float(input('请输入投资年化收益率:I: '))
mm = int(input('''1.每月 3.每3月 6.每6月 12.每年 请选择利息复投方式: '''))

def day_return(money,year,rate=0.06):
    '''方案:每日利息加入本金复投'''
    for y in range(year):
        for day in range(365):
            money = money*rate/365 + money
        print('第%d年结束时,本金为:%.2f' % (y+1,money))

def month_return(money,year,mm,rate=0.06):
    '''方案:每月利息加入本金复投'''
    for y in range(year):
        cs = 12//mm
        for month in range(cs):
            money = money*rate/cs + money
        print('第%d年结束时,本金为:%.2f' % (y+1,money))

def year_return(money,year,rate=0.06):
    '''方案:每年利息加入本金复投'''
    for y in range(year):
        money = money*rate + money
        print('第%d年结束时,本金为:%.2f' % (y+1,money))


if mm in (1,2,3,4,6):
    month_return(money,year,mm,rate)
elif mm == 12:
    year_return(money,year,rate)
else:
    print('mm 输入有误!')

例题1. 某公司于2007年初向银行存入5万元资金,年利率为 8%,按半年复利计息,则 2017年到期时可以得到的本利和为:

python fuli.py

请输入您打算用来投资的本金:PV: 50000
请输入投资期限(单位:年):N: 10
请输入投资年化收益率:I: 0.08
1.每月 3.每3月 6.每6月 12.每年 请选择利息复投方式: 6
第1年结束时,本金为:54080.00
第2年结束时,本金为:58492.93
第3年结束时,本金为:63265.95
第4年结束时,本金为:68428.45
第5年结束时,本金为:74012.21
第6年结束时,本金为:80051.61
第7年结束时,本金为:86583.82
第8年结束时,本金为:93649.06
第9年结束时,本金为:101290.83
第10年结束时,本金为:109556.1

例题2. F先生将一笔10万元的资金投入在年收益率为 6%的工程项目中,试估算,大约经过(?)年,本利和可以达到20万元。

returns.py

# coding: utf-8

#手动输入回报率
rate = float(input("年收益率: "))

#设置初始金额,默认10w
money = 100000
FV = 200000

count = 1
while count <= 100:
    returns =  money*(1 + rate)**count
    if returns > FV :
        print("第"+str(count)+"年: "+str(int(returns)))
        break
    count += 1

python returns.py

年收益率: 0.06
第12年: 201219

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!