1递归函数的特征
特长
在函数内部调用自己
在函数内部可以调用其他函数,当然在函数内部也可以调用自己
代码的特征
函数内部的代码相同,但处理结果相对于参数不同而不同
如果参数满足条件,则函数不再运行
这非常重要,通常被称为递归出口。 否则,就会发生死循环!
示例代码
efsum_numbers(num ) :
是打印(num )
#递归出口很重要。 否则,就会发生死循环
if num==1:
返回
sum_numbers(num-1 ) )。
sum_numbers(3) )
2递归情况——计算数字累积
需求
定义函数sum_numbers
可以接收num的整数参数
12.计算num的结果
efsum_numbers(num ) :
if num==1:
返回1
假设sum_numbers可以完成num - 1的累加
temp=sum_numbers(num-1 ) ) )
#函数内部的核心算法是两个数字的加法
return num temp
print(sum_numbers(2) ) ) ) )。
#
#练习
#创建一个检查任意字符串是否为回文字符串的函数,如果返回True,则返回False
#回文字符串,字符串从前向后读和从后向前读是一样的
# abcba
# abcdefgfedcba
#首先检查第一个字符和最后一个字符是否匹配,如果不匹配,则不是回文字符串
#一致时,看剩下的部分是否是回文字符串
检查abcdefgfedcba是否为回文
检查bcdefgfedcb是否为回文
检查cdefgfedc是否为回文
检查defgfed是否为回文
检查efgfe是否为回文
检查fgf是否为回文
检查#g是否为回文
efHui_Wen(s ) :
''''
此函数检查指定的字符串是否为回文字符串,如果为True,则返回False
参数:
s :要检查的字符串
''''
#基线条件
iflen(s ) 2:
#如果字符串长度小于2,则字符串必须是回文
返回真
elif s[0]!=s[-1]:
#第一个字符和最后一个字符不相等,不是回文字符串
返回假
#递归条件
returnHui_Wen(s[1:-1] ) () ) ) ) )。
打印(hui _ Wen (abcdefgfedcba ) )
希望以上是正文的全部内容,对大家的学习有帮助。 另外,希望大家多多支持聚米学院。