Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 根据之前的值循环函数?_Python - Fatal编程技术网

Python 根据之前的值循环函数?

Python 根据之前的值循环函数?,python,Python,所以我试着循环我的公式:pv=pv-p-(r*pv),60次来计算5年(60个月)后的当前债务,要做到这一点,我需要,对于每一次新的计算,在计算新值之前的值pv 这是我到目前为止得到的,但我没有得到正确的最终值 def functionname(pv, rent, year): r = (rent / 100) / 12 p = pv * (r * ((1 + r) ** (year*12))) / (((1 + r) * (year*12)) - 1) for i in

所以我试着循环我的公式:
pv=pv-p-(r*pv)
,60次来计算5年(60个月)后的当前债务,要做到这一点,我需要,对于每一次新的计算,在计算新值之前的值
pv

这是我到目前为止得到的,但我没有得到正确的最终值

def functionname(pv, rent, year):
    r = (rent / 100) / 12
    p = pv * (r * ((1 + r) ** (year*12))) / (((1 + r) * (year*12)) - 1)
    for i in range(0, 61):
        pv = pv - p - (r * pv)
    return pv


pv = int(input("Type your debt: "))
rent = float(input("Type yearly rent: "))
year = int(input("Type how many years you want to pay of the loan: "))

pv = functionname(pv, rent, year)
print("The current debt after 5 years is:",pv)

如果要循环N次,只需将单个参数N传递给range函数。例如,此循环将运行60次。您的当前for循环运行61次(从0到60)


您能否提供输入和相应的预期输出?您的输入值、预期正确结果和实际错误结果是什么?
范围(0,61)
看起来肯定是错误的。您是否使用
范围(60)
得到正确的结果?您还可以使您的
pv
循环依赖于
变量:
对于范围内的i(年*12)
因此,如果我键入例如值:“键入您的债务:50000”,“键入年租金:5”,“键入多少年…:9”。最后的答案是:7681.75。正确答案应该是:24534.03。不,我得不到范围(60)的正确答案。范围需要为0,61,因为起始值为0,停止值为60-1,因此为61,对吗?@AdamTörnqvist可能首先以较小的输入值开始,直到获得所需的正确结果,然后尝试较大的值。
def functionname(pv, retn, year):
    r = (rent / 100) / 12
    p = pv * (r * ((1 + r) ** (year*12))) / (((1 + r) * (year*12)) - 1)
    for i in range(60):
        pv = pv - p - (r * pv)
    return pv


pv = int(input("Type your debt: "))
rent = float(input("Type yearly rent: "))
year = int(input("Type how many years you want to pay of the loan: "))

pv = functionname(pv, rent, year)
print("The current debt after 5 years is:",pv)