python入门练习题3(函数)
1.写函数:
如有以下两个列表
l1 = [...]
l2 = []
第一个列表中的数字无序不重复排列,第二个列表为空列表
需求: 取出第一个列表的最小值 放到第二个列表的首个位置,
取出第一个列表的最小值(仅大于上一次的最小值) 放到第二个列表的首个位置,
取出第一个列表的最小值(仅大于上一次的最小值) 放到第二个列表的首个位置, ... 依此类推,从而获取一个有序的列表l2 ,并将其返回给函数调用者。
l1 = [11,33,44,2,66]
l2 = []
def foo(x,y):
for item in range(len(x)):
v = min(x)
y.insert(0,v)
x.remove(v)
return y
print(foo(l1,l2))
2,写程序
利用递归实现 1 * 2 * 3 * 4 * 5 * 6 * 7 count = 0
a = 1
def calc(count,a):
count +=1
if count <= 7:
a = a*count
print(a)
else:
return
calc(count,a)
3,通过yield实现在单线程的情况下实现并发运算的效果
1 import time
2 def consumer(name):
3 print('%s准备吃包子啦!' %name)
4 while True:
5 baozi = yield # 生成器遇到yield就会终止该函数的操作,并且会将函数执行的状态挂起,
6 # 直到send来恢复当前状态,然后继续执行以下的代码
7 print('包子[%s]来啦!,被[%s]吃了!!' %(baozi,name))
8 def producer():
9 c = consumer('laiying') # 创建了一个生成器c
10 b = consumer('zcy') # 创建了一个生成器b
11 c.__next__() # 通过c.__next__()执行consumer这个生成器
12 b.__next__() # 通过c.__next__()执行consumer这个生成器
13 print('陈师傅要开始做包子啦!')
14 for i in range(1,10):
15 time.sleep(2)
16 print('做了2个包子')
17 c.send(i) # 通过send方法去恢复yield的挂起状态,并将变量i的值传递给yield
18 b.send(i) #其实__next__方法也可以恢复yield的挂起状态,但是__next__不能传值给yield
19 producer()
python入门练习题3(函数)的更多相关文章
- python入门练习题1
常见python入门练习题 1.执行python脚本的两种方法 第一种:给python脚本一个可执行的权限,进入到当前存放python程序的目录,给一个x可执行权限,如:有一个homework.py文 ...
- Python入门篇-生成器函数
Python入门篇-生成器函数 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.生成器概述 1>.生成器generator 生成器指的是生成器对象,可以由生成器表达式得到, ...
- Python入门篇-匿名函数
Python入门篇-匿名函数 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.匿名函数概述 1>.什么是匿名函数 匿名,即没有名字 匿名函数,即没有名字的函数 2>. ...
- Python入门基础之函数、切片
Python之函数 Python不但能非常灵活地定义函数,而且本身内置了很多有用的函数,可以直接调用. Python之调用函数 Python内置了很多有用的函数,我们可以直接调用. 要调用一个函数,需 ...
- Python入门-内置函数一
什么是内置函数?就是python给你提供的拿来直接用的函数,比如print,input等等,截止到python版本3.6.2 python一共提供了68个内置函数,他们就是python直接提供给我们的 ...
- Python入门二:函数
一.函数的定义和使用 1.基本结构: def 函数名(参数): """ 文档字符串 """ 函数体 返回值 2.函数名: 和变量名命名规则一 ...
- Python 入门基础10 --函数基础3 函数对象、名称空间、装饰器
今日内容 1.函数对象 2.名称空间与作用域 3.函数的嵌套调用与闭包 4.装饰器 一.函数对象 1.1 定义 函数名存放的就是函数地址,所以函数名也就是对象,称之为函数对象 1.2 函数对象的应用 ...
- Python 入门基础11 --函数基础4 迭代器、生成器、枚举类型
今日目录: 1.迭代器 2.可迭代对象 3.迭代器对象 4.for循环迭代器 5.生成器 6.枚举对象 一.迭代器: 循环反馈的容器(集合类型) 每次重复即一次迭代,并且每次迭代的结果都是下一次迭代的 ...
- Python 入门基础12 --函数基础5 匿名函数、内置函数
今日内容: 1.三元表达式 2.列表.元组生成式 | 字典生成式 3.递归 4.匿名函数 5.内置函数 一.三元表达式 三元运算符:就是 if...else... 语法糖 前提:if 和 else # ...
随机推荐
- web自动化测试中绕开验证码登陆的方式
web自动化测试中登陆需验证码是很大的一个困扰.现推荐一种简单的避开验证码登陆的方式,先代码进入登录页,人工输入验证码登录后浏览器自动保存cookie,再在新的标签中登录. 具体代码如下: publi ...
- PHP配置参数
PHP使用到两个比较重要的配置文件: php.ini:决定php语言运行的环境,支持扩展的模块 , 开发环境的配置.(路径一般位于/etc/php.ini 或 /usr/local/php/etc/p ...
- JAVA 对象调用理解图
- 使用bootstrap 弹出效果演示
前言:对于Web开发人员,弹出框和提示框的使用肯定不会陌生,比如常见的表格新增和编辑功能,一般常见的主要有两种处理方式:行内编辑和弹出框编辑.在增加用户体验方面,弹出框和提示框起着重要的作用,如果你的 ...
- WebApi接口传参不再困惑(4):传参详解(转载)
WebApi接口传参不再困惑(4):传参详解 前言:还记得刚使用WebApi那会儿,被它的传参机制折腾了好久,查阅了半天资料.如今,使用WebApi也有段时间了,今天就记录下API接口传参的一些方 ...
- js中的逻辑与(&&)和逻辑或(||)(转载)
var a = 2; var b = 3; var andflag = a && b ; var orflag = a || b; 问andflag 和orflag 分别是什么? 起初 ...
- C#类继承和接口继承时一些模棱两可的问题[转]
原文地址:http://www.cnblogs.com/harleyhu/archive/2012/11/29/2794809.html 1.在father定义的方法若含有virtual关键字,chi ...
- Nginx location 匹配顺序整理
Nginx location模块整理 具体的Nginx安装就不在这里描述了,这里只是为了对location的描述 Nginx环境 a. 查看当前系统cat /etc/redhat-release [r ...
- css给div添加0.5px的边框
具体代码实现如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...
- lua 类支持属性不能被修改
背景 lua是类是借助表的来实现的, 类被定义后, 在使用场景下, 不希望被修改.如果被修改, 则影响的类的原始定义, 影响所有使用类的地方. 例如: --- router.lua class fil ...