码迷,mamicode.com
首页 > 编程语言 > 详细

Python-函数递归调用

时间:2019-01-02 21:39:32      阅读:200      评论:0      收藏:0      [点我收藏+]

标签:阶乘   factor   NPU   pytho   noi   --   turn   python   bsp   

案例一:汉诺塔

例一:

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-函数递归调用

标签:阶乘   factor   NPU   pytho   noi   --   turn   python   bsp   

原文地址:https://www.cnblogs.com/bird8868/p/10211308.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!