[英]Geometric sequence in python
如何使用投资5000且每年增加新值5%的几何顺序? 我一直在尝试所有问题,但无法正确回答。 请帮忙
因此年:0 = 5000
到目前为止的代码:
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)))
问题出在您的打印对帐单中。
您有2种选择可以使其正常工作:
列表理解,创建完整的利润列表,然后将其压缩为年份
def calc_profits(principal, year): INTREST_GROWTH = 0.05 profits = [principal * ((1+INTREST_GROWTH) ** (y - 1)) for y in range(1, year + 1)] for i,p in zip(range(year),profits): print("{0}:{1:.2f}".format(i, p))
迭代给出一个新值,并在每次循环迭代时打印出来
def calc_profits(principal, year): INTREST_GROWTH = 0.05 profits = principal for y in range(1, year): profits = profits*(INTREST_GROWTH+1) print("{0}:{1:.2f}".format(y, profits))
您只需要计算投资的最终价值,然后取走本金,就可以得出多少利润。
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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.