想改一下计算复利的代码

系统说我的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))

你 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

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