python中的几何序列

python中的几何序列,python,python-3.x,math,Python,Python 3.x,Math,我如何使用一个几何序列,投资5000,新价值每年增加5%?我什么都试过了,就是找不到正确的答案。请帮忙 因此,今年: 0=5000 5250 5512.5 5788.13 迄今为止的代码: def calc_profits(principal, year): INTREST_GROWTH = 0.05 for profits in range (1, year): y = year p = principal profits =

我如何使用一个几何序列,投资5000,新价值每年增加5%?我什么都试过了,就是找不到正确的答案。请帮忙

因此,今年: 0=5000

5250 5512.5 5788.13 迄今为止的代码:

def calc_profits(principal, year):
    INTREST_GROWTH = 0.05
    for profits in range (1, year):
        y = year
        p = principal

        profits = [p * (INTREST_GROWTH ** (y - 1)) for y in range(1, y + 1)]
        print("{} {:.2f}".format(profits(year, principal))) 

你只需计算你投资的最终价值,去掉本金,就可以知道你赚了多少钱

def calc_profits(principal, year):
    INTEREST_GROWTH = 0.05
    end_capital = principal * (1 + INTEREST_GROWTH) ** year
    profit = end_capital - principal
    return profit
编辑:如果你想知道每年的利润,你可以通过列表理解

def calc_profits(principal, year):
    INTEREST_GROWTH = 0.05
    profit = [principal * (1 + INTEREST_GROWTH) ** y - principal
               for y in range(1, year + 1)]
    return profit

问题在于你的打印报表

您有两个选项可以让它工作:

列表理解,创建完整的利润列表,然后用年数对其进行分类


def calc_利润负责人,年份: 投资增长率=0.05 利润=[本金*1+利息增长**y-1,年+1] 对于ziprangeyear中的i,p,利润: 打印{0}:{1:.2f}.formati,p

迭代给出一个新值,并为每个循环迭代打印它


def calc_利润负责人,年份: 投资增长率=0.05 利润=本金 对于范围为1的y,年份: 利润=利润*利润增长+1 打印{0}:{1:.2f}。格式,利润


到目前为止,您尝试了什么代码?def calc_profitsprincipal,year:INTREST_GROWTH=0.05,适用于范围1内的利润,year:y=year p=principal profits=float[p*INTREST_GROWTH**y-1,适用于范围1内的y,INTREST_GROWTH+1]打印{}{:.2f}。formatprofitsyear,原则请更新您问题中的代码。您能将其添加到问题中吗?这样人们也可以看到你是如何格式化代码的。好吧,我只是。编辑它。主值不是5000,我不希望它是一个变量。谢谢。如果我想列一个清单,我不应该有一个范围吗?如果我输入5作为年份变量,我仍然希望1到4的值显示为一个值表。我该怎么做?@Sarah我更新了答案,将每年的利润列为一个列表。