Python第二次作业

Python第二次笔记

匿名函数
lambda参数1,参数2… :返回值
print((lambda x,y,z:x+y+z)(1,2,3))
递归函数
程序调用自身的编程技巧称为递归( recursion)。#使用递归方法实现5!
def func(n):
ifn== 1 orn== 0:
return 1
else:
return n * func(n-1)
? print(func(5))
递归函数优缺点
递归函数的优点就是定义简单,逻辑清楚。
缺点是递归效率不高,因为每一次调用都有相应的数值存放在栈,而栈的空间是有限的
因此在写函数时候要注意不可无限递归或者递归次数非常大
递归函数
要求输入- -个数字表示是第几个数字,正确输出第n个斐波那契数
def fun(n):
ifn<0:
print('输入有误! ‘)
elifn== 1orn== 2:
return 1
else:
return fun(n-1) + fun(n-2)
print(fun(6))
生成器函数
我们之前学过元组生成器.(i for i in range(10))
yield语句的函数也可以用来创建生成器对象.
每次执行到yield语 句并返回-一个值之后会暂停或挂起后面代码的执行
下次通过生成器对象的_ next _()方法、 内置函数next()、for循环遍历生成器对象元素或其他方式显式“索要”数据时恢复执行。
生成器-斐波那契
def f():
a,b=1,1
while True:
yielda # 暂停执行,需要时再产生- -个新元素a,b=b,a+b # 继续生成新元素
a= f()
for iin range(10):
print(next(a), end=’ ')

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值