Python-函数递归调用
生活随笔
收集整理的這篇文章主要介紹了
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 = 1else:sum = n * f(n-1)return sum s = int(input('輸入一個整數:')) p = f(s) print('%s!=%s' % (s,p))例二:
def factorial(n):res = nfor i in range(1,n):res *= ireturn res if __name__ == '__main__':num = int(input("請輸入一個正整數:"))result = factorial(num)print("%s的階乘為:%s" % (num,result))案例三:利用遞歸將輸入的字符串反向輸出
def output(str,len):if len == 0:returnprint(str[len-1])output(str,len-1) s = input("請輸入字符串:") l = len(s) output(s,l)?
轉載于:https://www.cnblogs.com/bird8868/p/10211308.html
總結
以上是生活随笔為你收集整理的Python-函数递归调用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CF1096E The Top Scor
- 下一篇: C++基础知识-Day8