如何在python递归中获取return语句

2024-09-29 07:35:55 发布

您现在位置:Python中文网/ 问答频道 /正文

def rec(i):
    try:
        print(i)
        if i==1:
            print('from if i ==1')
            return i
        rec(i-1)
    except:
        print('un hadled exception')
        return 100
    return 99        
        
print(rec(3))

我得到以下答案

3
2
1
from if i ==1
99

如何在1处停止迭代并返回1而不是99


Tags: 答案fromreturnifdefexceptionunprint
2条回答

看起来您只是想从某个数字开始递归地倒计时,当它到达终点时返回1

def rec(i):
    print(i)
    if i == 1:
        return i
    rec(i-1)

当代码在第7行时,不应再次调用函数。如果使用return而不是recall函数,则可以获得所需的输出

def rec(i):
    try:
        print(i)
        if i==1:
            print('from if i ==1')
            return i
        return rec(i-1)
    except:
        print('un hadled exception')
        return 100
    return 99        
        
print(rec(3))

输出是

3
2
1
from if i ==1
1

相关问题 更多 >