(011)我們一起學Python;匿名函式,遞迴函式
lambda關鍵字,匿名函式,具有簡潔的表達方式,適合做一次性運算,系統會自動回收。
>>> pao = lambda x : x * x + 5
>>> pao(2)9
>>> gg = lambda x,y : x*y #支援多個引數
>>> gg(3,8)
24
filter過濾器函式,輸出真的值,第一個引數可以是函式也可以是None
>>> list(filter(lambda x: x % 2 + 1,range(20)))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
>>> list(filter(lambda x: (x +1) % 2 ,range(20)))
[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
map函式,相當於一個對映函式,把輸入值依次放進map函式的作用域去執行。
遞迴函式是人妻,呼叫自身,必須要回來。
def factorrial(n):
result = n
for x in range(1,n):
result *= x
return result
def fac(n):
if n == 1:
return 1
else:
return n * fac(n-1)
number = int(input("請輸入一個正整數:\n"))
re = factorrial(number)
print("經典函式%d 的階乘是 %d\n" % (number,re))
re = fac(number)
print("遞迴函式%d 的階乘是 %d" % (number,re))
輸出結果:
請輸入一個正整數:
5經典函式5 的階乘是 120
遞迴函式5 的階乘是 120
斐波那契數列的遞迴實現:
def fibonaqi(n):
if n == 1 or n==2:
return 1
else :
return fibonaqi(n-1) + fibonaqi(n-2)
a = int(input("請輸入一個正整數:\n"))
re = fibonaqi(a)
print("%d 的fibonaqi數列用遞迴演算法實現的值為:%d\n" % (a,re))
list1=[]
#如果在fibonaqi函式中沒有定義0的輸入
#千萬要注意他的輸入中不能有0
for i in range(1,a+1):
list1.append(fibonaqi(i))
print("fibonaqi數列為:",list1)
輸出:
請輸入一個正整數:
20
20 的fibonaqi數列用遞迴演算法實現的值為:6765
fibonaqi數列為: [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765]
漢諾塔遊戲的實現,輸入64的話能跑半天!!!輸入128是很刺激的
def hanoi(n,x,y,z):
if n == 1:
print(x,"-->",z)
else:
hanoi(n-1,x,z,y)
print(x,"-->",z)
hanoi(n-1,y,x,z)
n = int(input("請輸入漢諾塔的層數:"))
hanoi(n,'A','B','C')
相關文章
- 第 8 節:函式-匿名函式、遞迴函式函式遞迴
- JavaScript 中匿名函式的遞迴呼叫JavaScript函式遞迴
- Python 函式進階-遞迴函式Python函式遞迴
- 好程式設計師Python教程系列遞迴函式與匿名函式呼叫程式設計師Python遞迴函式
- 遞迴、三元表示式、生成式(列表,字典)、匿名函式遞迴函式
- 1.5.6 python遞迴函式Python遞迴函式
- 13.0、python遞迴函式Python遞迴函式
- 遞迴函式遞迴函式
- 好程式設計師Python培訓分享Python的遞迴函式與匿名函式呼叫程式設計師Python遞迴函式
- 函式表示式–遞迴函式遞迴
- 遞迴匿名函式手動實現 http_build_query 系統函式遞迴函式HTTPUI
- 匿名函式(Python)函式Python
- Python匿名函式Python函式
- Python函式與lambda 表示式(匿名函式)Python函式
- 函式的遞迴函式遞迴
- JavaScript 函式遞迴JavaScript函式遞迴
- php遞迴函式PHP遞迴函式
- 函式之遞迴函式遞迴
- JS函式表示式——函式遞迴、閉包JS函式遞迴
- 初學 Python(十三)——匿名函式Python函式
- 函式遞迴與生成式函式遞迴
- 假如我們把函式都改成遞迴...函式遞迴
- 初學 PHP 函式的遞迴PHP函式遞迴
- 深入理解 函式、匿名函式、自執行匿名函式函式
- 1.5.7 Python匿名函式Python函式
- Python 返回函式+匿名函式Python函式
- 遞迴函式的理解遞迴函式
- Python技法3:匿名函式、回撥函式和高階函式Python函式
- day 17 – 1 遞迴函式遞迴函式
- 遞迴函式例項大全遞迴函式
- 遞迴函式-樹形列表遞迴函式
- 遞迴函式、演算法之二分法、三元表示式、各種生成式、匿名函式遞迴函式演算法
- python函式程式設計 返回函式 匿名函式 裝飾器 偏函式Python函式程式設計
- PHP匿名函式PHP函式
- Ruby 匿名函式函式
- Golang匿名函式Golang函式
- JavaScript 匿名函式JavaScript函式
- Go 匿名函式Go函式