Python-函数递归调用

Posted bird8868

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python-函数递归调用相关的知识,希望对你有一定的参考价值。

案例一:汉诺塔

例一:

def move(n, a, buffer, c):
    if n ==1:
        print(move, a, -->, c)
    else:
        move(n-1, a, c, buffer)
        move(1, a, buffer, c)
        move(n-1, buffer, a, c)

move(3, A,B,C)

例二:

def hanoi(n,x,y,z):
    if n == 1:
        print(x,--->,z)
    else:
        hanoi(n-1,x,z,y)#将前n-1个盘子移动到y上
        print(x, --->, z)#将最底下的盘子移动到z上
        hanoi(n-1,y,x,z)#将y上的n-1个盘子移动到z上
if __name__ == __main__:
    num = int(input("请输入汉若塔层数:"))
    hanoi(num,X,buffer,Z)

案例二:求阶乘

例一:

def f(n):
    if n == 0:
        sum = 1
    else:
        sum = n * f(n-1)
    return sum
s = int(input(输入一个整数:))
p = f(s)
print(%s!=%s % (s,p))

例二:

def factorial(n):
    res = n
    for i in range(1,n):
        res *= i
    return res
if __name__ == __main__:
    num = int(input("请输入一个正整数:"))
    result = factorial(num)
    print("%s的阶乘为:%s" % (num,result))

案例三:利用递归将输入的字符串反向输出

def output(str,len):
    if len == 0:
        return
    print(str[len-1])
    output(str,len-1)
s = input("请输入字符串:")
l = len(s)
output(s,l)

 

以上是关于Python-函数递归调用的主要内容,如果未能解决你的问题,请参考以下文章

Python的递归函数

python 函数的递归操作

Python入门教程第25篇 递归函数

python 基础 11 带参数装饰器与递归函数

vue递归组件的一些理解

使用 python 装饰器调用递归函数的次数