1、lamda表达式
基本格式:
lamda 参数1,参数2....:表达式
2、递归函数
必须包含两部分:
(1) 终止条件
(2) 递归步骤
例:
1、调和数:H = 1 + 1/2 +.... + 1/n
def harmonic(n):
if n == 1: return 1.0
return harmonic(n-1) + 1.0/n
2、最大公约数:若 p > q , 则p 和 q 的最大公约数等于 q 和 p%q 的最大公约数
def gcd(p,q):
if q ==0: return p
return gcd(q, p % q )
3、汉诺塔
hanoi(n, a, b, c)代表把n个圆盘由 a 移到 c
def hanoi(n , a, b, c):
if n == 1:print(a, '->', c)
else:
hanoi(n-1, a, c, b)
hanoi(1, a, b, c)
hanoi(n-1, b, a, c)