Python 3.x python3中的简单和复合年度投资计算器

Python 3.x python3中的简单和复合年度投资计算器,python-3.x,Python 3.x,我试图制作一个简单的复合和年度投资计算器,但有一个错误我一直无法发现。我是否缺少for或while循环 investment=float(input("Enter an initial investment.")) interest=float(input("Enter an interest rate between .01 to .10.")) years=float(input("Enter a number of years between 1 to 30.")) t=(investm

我试图制作一个简单的复合和年度投资计算器,但有一个错误我一直无法发现。我是否缺少for或while循环

investment=float(input("Enter an initial investment."))
interest=float(input("Enter an interest rate between .01 to .10."))
years=float(input("Enter a number of years between 1 to 30."))

t=(investment) * (interest+1) ** (years)
print(t)

我觉得这些数字不错。。。。1000+0.01+10:

您可以在此处阅读地图、枚举和打印:

列表将生成每年的值,从输入的0到10开始。枚举为formatInterest输入元组添加年份号。map应用格式并打印所有内容,使用分解列表中换行符的sep。

未来值计算
你到底有什么问题?我们不为你编码,我们帮助你。。。我看不出有什么问题。哦,我可能看到一个问题——你需要计算年份并打印出来,而不仅仅是打印到最后一个值。a代表y的rangeyears:years是int应该使这成为可能。玩得开心。你是在处理简单的还是复合的?@Onyanbu out老师没有说,但我认为两者都有。@PatrickArtner它给了我一个完全随机的数字,我很确定这是不准确的。我无法在代码中找到问题。
def formatInterest(t):
    return "{:>3} {:<10}".format(t[0],round(t[1],2))

investment=float(input("Enter an initial investment."))
interest=float(input("Enter an interest rate between .01 to .10."))
years=int(input("Enter a number of years between 1 to 30."))

print(*list(map(formatInterest,enumerate([investment * (interest+1) ** i
                                          for i in range(years+1)]))),sep="\n")
  0 1000.0    
  1 1010.0    
  2 1020.1    
  3 1030.3    
  4 1040.6    
  5 1051.01   
  6 1061.52   
  7 1072.14   
  8 1082.86   
  9 1093.69   
 10 1104.62   
print("Investment Calculator")
print(f"=====================")
present_value = int(input("Principal Amount? "))
interest_rate = float(input("Annual Interest Rate? "))
terms_in_years = int(input("Number of Years? "))

future_value = present_value * pow((1 + (interest_rate / 100)), terms_in_years)
result = float("{:.2f}".format(future_value))

print(f"Future Value is: {result}")"