具有循环依赖性的函数

时间:2017-07-02 16:22:25

标签: python function for-loop recursion

假设我有以下内容:

def f(t):   
    return a*t

def g(t):  
    a=5  
    b=4  
    for u in range(t):  
        a=a+u  
        b=f(t)+b  
    return b

在每个步骤中,f(t)将更新b中的' for' loop在其定义中有更新的a,还是永远都是5?

1 个答案:

答案 0 :(得分:2)

f(t)在其定义中更新了a的值,它应该作为参数传递给该函数。 如果您要求t f(t)的每个值都更新a,请执行以下操作:

def f(t,a):
     return a*t

f(t) a的定义中未定义
然后在g(t)修改f(t)f(t,a)

def g(t):  
    a=5  
    b=4  
    for u in range(t):  
        a=a+u  
        b=f(t,a)+b  
    return b