Python 函式遞迴呼叫

2022-09-04 12:42:10 字數 1526 閱讀 4088

案例一:漢諾塔

例一:

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

sums = int(input('

輸入乙個整數:'))

p =f(s)

print('

%s!=%s

' % (s,p))

例二:

def

factorial(n):

res =n

for i in range(1,n):

res *=i

return

resif

__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 函式的遞迴呼叫

函式的遞迴呼叫 是函式巢狀呼叫的一種特殊形式 具體是指在呼叫乙個函式的過程中又直接或者間接地呼叫到本身 def f1 print 是我是我還是我 f1 f1 間接接呼叫本身 def f1 print f1 f2 def f2 print f2 f1 f1 一段 的迴圈執行的方案有兩種 while t...

python 函式的遞迴呼叫

什麼是函式遞迴 1.函式的遞迴呼叫是函式的特殊的一種呼叫方式 2.函式的遞迴呼叫是指函式直接的或則間接的呼叫了自己本身 例如 def f1 print 這是f1 f1 直接呼叫了自己本身 def f2 print 這是f2 f3 def f3 print 這是f3 f2 間接的呼叫了自己本身3.py...

函式遞迴呼叫

我們學習了函式的巢狀呼叫,可以在函式中呼叫函式。那麼,如果在乙個函式中,呼叫自己這個函式,那麼,這個執行過程稱為 函式遞迴呼叫。這個函式也稱為 遞迴函式。程式測試例子 程式執行結果如下 在這個測試例子中,我們定義了func函式,在func函式中又呼叫了func函式自己 所以,這個過程稱為 遞迴呼叫。...