qq_58144313 2021-09-21 18:49 采纳率: 50%
浏览 51
已结题

想改一下计算复利的代码

系统说我的y没有定义
money = 100
year = 1
rate = 0.02

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

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

def quarter_return(money, year, rate=0.06):
'''方案:每月利息加入本金复投'''
for y in range(year):
for month in range(4):
money = money * rate / 4 + money
return money
print('每季复利一次,第%d年结束时,本利合计:%.4f' % (y+1, money))

def halfyear_return(money, year, rate=0.06):
'''方案:每月利息加入本金复投'''
for y in range(year):
for month in range(2):
money = money * rate / 2 + money
return money
print('每半年复利一次,第%d年结束时,本利合计:%.4f' % (y+1, money))

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

def week_return(money, year, rate=0.06):
'''方案:每日利息加入本金复投'''
for y in range(year):
for week in range(52):
money = money * rate / 52 + money
return money
print('每周复利一次,第%d年结束时,本利合计:%.4f' % (y+1, money))

  • 写回答

1条回答 默认 最新

  • 关注

    你 print('每天复利一次,第%d年结束时,本利合计:%.4f' % (y+1, money)) 在day_return函数外面,当然访问不到函数中的y变量了,要把print()放在函数中的for y in range(year):循环内才行

    应该是

    money = 100
    year = 1
    rate = 0.02
    
    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年结束时,本利合计:%.4f' % (y+1, money))
        return money
    
    print(day_return(money, year, rate))
    
    

    img

    如有帮助,望采纳!谢谢! 点击我这个回答右上方的【采纳】按钮

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 9月29日
  • 已采纳回答 9月21日
  • 创建了问题 9月21日