11.递归函数,斐波纳契数列.

汉诺塔:
def hano(n,x,y,z):
if n == 1:
print('%s---->%s' %(x,z))
else:
hano(n-1,x,z,y) #把第n-1个盘子从x移到y
print('%s---->%s' %(x,z)) #把n个盘子从x移到z
hano(n-1,y,x,z) #把n-1个盘子从y移到z
t = int(input('输入汉诺塔层数:'))
print(hano(t,'x','y','z'))

lambda filter,map的运用
lambda,简单定义函数,
lambda x : x % 2 # 定义函数,接收变量x,x除以二的余数.
filter(function,str) #返回余数为true的值.即返回不能被二整除的数.能整除的数余数为0,是False.
map(function,str) #将str中的数,挨项代入函数function中,将函数计算结果逐个返回
# func=lambda x,y:x+y
# str1=[1,0]
# list1=filter(func,str1)
# #print(func(2,3))
# print(list(list1))
print(list(filter(lambda x :(x % 3) ,range(10))))
#print(list(map((lambda x : x*2),range(10))))

斐波纳契数列:
#__author__:  zoe
#date: 2020/5/11
def fibo(n):
if n <=1:
return 1
else:
return fibo(n-1)+fibo(n-2)
t=int(input('您想列出斐波纳契数列到第几项:'))
for i in range(t):
print('第%s项:%s'%(i+1,fibo(i)))

第0项:1
第1项:1
第2项:2
第3项:3
第4项:5
第5项:8
第6项:13
第7项:21
第8项:34
第9项:55


阶乘的递归实现:

# def jie(n):
# if n <= 1:
# return 1
# else:
# return n*jie(n-1)
# t=int(input('你想算的阶乘数:'))
# print(jie(t))


posted @ 2020-05-11 15:15  十名知花香  阅读(140)  评论(0编辑  收藏  举报