Python for循环添加到等式?

Python for循环添加到等式?,python,loops,for-loop,equation,Python,Loops,For Loop,Equation,在这个项目中我需要一些帮助。我需要帮助弄清楚如何让它计算超过十年(包括第一年)的利息。这是我一个人所能做到的。我非常希望能对这个问题有所了解 谢谢。 *“print()仅用于间距,以便程序看起来更干净 p= int(input(" Intial Amount? ")) print() r= float(input(" Rate? (Decimal) ")) print() n= int(input(" Number Of Times Compunded? (Yearly) ")) print()

在这个项目中我需要一些帮助。我需要帮助弄清楚如何让它计算超过十年(包括第一年)的利息。这是我一个人所能做到的。我非常希望能对这个问题有所了解

谢谢。 *“print()仅用于间距,以便程序看起来更干净

p= int(input(" Intial Amount? "))
print()
r= float(input(" Rate? (Decimal) "))
print()
n= int(input(" Number Of Times Compunded? (Yearly) "))
print()
t= float(input(" Number Of Years? "))
A= p*(1+r/n)**(n*t)
print()
print( " Interest At Final Year","$",format(A, ',.2f'))
print()
for i in range (10):
    print(format(i+1, '3')," Year","Interest","$",format(A,',.2f'))

在循环体中,您没有更新任何变量的值。您需要在每次迭代时更新A,或将中间结果存储在其他变量中。例如,请参见以下内容:

def compound_interest(r, n, initial):
    current_value = initial
    for i in range(n):
        current_value *= (1 + r)
        print(current_value)

我使用current_value变量保存循环的中间结果在每次迭代中,initial的值永远不会更改;如果要继续使用,必须保存计算结果。

在循环体中,您没有更新任何变量的值。您需要在每次迭代中更新A或将中间结果存储在其他变量中。例如,请参阅t他说:

def compound_interest(r, n, initial):
    current_value = initial
    for i in range(n):
        current_value *= (1 + r)
        print(current_value)
我使用current_value变量来保存循环的中间结果。如果我在每次迭代时只做了initial*(1+r),那么initial的值永远不会改变;如果您想继续使用它,必须保存计算结果

在程序的最后,它将计数1-10,但其数量与第一次计算的数量相同

是的,这是因为循环中唯一发生的事情就是
print
调用。在进入循环之前,您只需一次计算
A
,然后反复使用相同的
A

我需要帮助,让它在“n”和“p”发生变化时添加新的值

嗯,你没有改变
n
p
,我认为你也不需要改变。但是你确实需要改变一些东西。如果你想在每次循环中打印不同的
a
值,你必须根据上一年的
a
重新计算下一年的
a
,或者其他任何需要确定的内容g正确的值

例如:

for year in range (10):
    jan1balance = p
    for period in range(n):
        p = p * (1 + r)
    print(format(year+1, '3')," Year","Interest","$",format(p - jan1balance,',.2f'))
或:

在程序的最后,它将计数1-10,但其数量与第一次计算的数量相同

是的,这是因为循环中唯一发生的事情就是
print
调用。在进入循环之前,您只需一次计算
A
,然后反复使用相同的
A

我需要帮助,让它在“n”和“p”发生变化时添加新的值

嗯,你没有改变
n
p
,我认为你也不需要改变。但是你确实需要改变一些东西。如果你想在每次循环中打印不同的
a
值,你必须根据上一年的
a
重新计算下一年的
a
,或者其他任何需要确定的内容g正确的值

例如:

for year in range (10):
    jan1balance = p
    for period in range(n):
        p = p * (1 + r)
    print(format(year+1, '3')," Year","Interest","$",format(p - jan1balance,',.2f'))
或:


我理解这个方程式是如何运作的。我正试图让它算出第一次投资后10年内的利息。(机器人试图听起来像个屁股,抱歉,如果第一个问题有点模糊).好的。我对python还是很陌生。我可能对这一点不是很清楚。请将我的程序复制到python中并运行它。我认为这会让它更清楚。在程序的最后,它将计数为1-10,但与第一次计算的值相同。我需要帮助使它将新值添加到当“n”和“p”在变化时,将其相加。如果你查看我的答案,你会发现我将初始值保存在名为current_value的变量中。在循环的每次迭代中,我将current_value乘以(1+r),并将结果存储回current_value。current_value*=(1+r)的作用与current_value=current_value*(1+r)的作用相同。谢谢你们的帮助。这就是我最终得到的,它实现了我想要它做的。:)我现在要为格式不正确道歉。p=int(输入(“初始金额”))print()r=float(输入(“比率”(十进制)”))print()n=int(输入(“复合次数”(每年)”)print()t=float(输入()年数?)A=p*(1+r/n)**n*t print()表示范围内的年份(10):初始=p+A表示范围内的期间(n):p=p*(1+r/n)print(格式(年+1,'3'),“年”,“利息”,“$”,格式(p,,.2f'))我理解这个方程的工作原理。我试图让它计算出第一次投资后10年内的利息。(机器人试图听起来像个屁股,对不起,如果第一个问题有点模糊).好的。我对python还是很陌生。我可能对这一点不是很清楚。请将我的程序复制到python中并运行它。我认为这会让它更清楚。在程序的最后,它将计数为1-10,但与第一次计算的值相同。我需要帮助使它将新值添加到当“n”和“p”在变化时,将其相加。如果你查看我的答案,你会发现我将初始值保存在名为current_value的变量中。在循环的每次迭代中,我将current_value乘以(1+r),并将结果存储回current_value。current_value*=(1+r)的作用与current_value=current_value*(1+r)的作用相同。谢谢你们的帮助。这就是我最终得到的,它实现了我想要它做的。:)我现在要为格式不正确道歉。p=int(输入(“初始金额”))print()r=float(输入(“比率”(十进制)”))print()n=int(输入(“复合次数”(每年)”)print()t=float(输入()年数?))A=p*(1+r/n)**n*t打印()范围(10)内的年份:初始=p+A范围(n)内的期间:p=p*(1+r/n)打印(格式(年份+1,'3'),“年份