递归中返回语句的意义

2024-06-28 15:31:44 发布

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

不将return语句放在recursive命令之前的意义是什么。调用返回函数和不调用返回函数时,从根本上讲发生了什么

def palin1(a):
    length=len(a)
    if a[0]==a[length-1]:
        return palin1(a[1:length-1])
    else:
        return False
    return True

def palin2(m):
    length=len(m)
    if m[0]==m[length-1]:
        palin2(m[1:length-1])
    else:
        return False
    return True

print(palin1("ramoar"))
print(palin2("ramoar"))

假 是的


Tags: 函数falsetruelenreturnifdef语句
1条回答
网友
1楼 · 发布于 2024-06-28 15:31:44

使用return时会发生两种不同的情况:

1.“return”下面的任何行都不会执行。该功能将在回油管后停止

  • 在palin1中,如果return,则不执行return True 命中palin1(a[1:length-1])
  • 在palin2中,即使命中palin2(m[1:length-1]),也将执行return True

2.函数调用将替换为值

  • 在return palin1(a[1:length-1])中,返回值将插入函数调用发生的位置
  • palin2(m[1:length-1])将导致函数执行,但是 该值将在函数末尾被丢弃

相关问题 更多 >