Skip to main content
 首页 » 编程设计

python之递归或迭代函数 (Python)

2025年05月04日17mayingbao

我无法确定以下函数是迭代函数还是递归函数,

我认为它是递归的,因为它会重复自己,但由于它有一个 while 循环,我对此表示怀疑,

def function(n): 
    while((n!=1) and (n!=0)): 
        return function(n-1) + function(n-2) 
    return n 

请您参考如下方法:

它自称是递归的。递归性(是一个词)并不意味着不允许“标准”迭代。

顺便说一句。在您的情况下,没有进一步的迭代。 while 循环本质上与简单的 if 语句相同,因为您会在第一个循环中立即返回。所以你可以这样写:

def function(n): 
    if (n != 1) and (n != 0): 
        return function(n - 1) + function(n - 2) 
    return n