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(函数)的更多相关文章

  1. python入门练习题1

    常见python入门练习题 1.执行python脚本的两种方法 第一种:给python脚本一个可执行的权限,进入到当前存放python程序的目录,给一个x可执行权限,如:有一个homework.py文 ...

  2. Python入门篇-生成器函数

    Python入门篇-生成器函数 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.生成器概述 1>.生成器generator 生成器指的是生成器对象,可以由生成器表达式得到, ...

  3. Python入门篇-匿名函数

    Python入门篇-匿名函数 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.匿名函数概述 1>.什么是匿名函数 匿名,即没有名字 匿名函数,即没有名字的函数 2>. ...

  4. Python入门基础之函数、切片

    Python之函数 Python不但能非常灵活地定义函数,而且本身内置了很多有用的函数,可以直接调用. Python之调用函数 Python内置了很多有用的函数,我们可以直接调用. 要调用一个函数,需 ...

  5. Python入门-内置函数一

    什么是内置函数?就是python给你提供的拿来直接用的函数,比如print,input等等,截止到python版本3.6.2 python一共提供了68个内置函数,他们就是python直接提供给我们的 ...

  6. Python入门二:函数

    一.函数的定义和使用 1.基本结构: def 函数名(参数): """ 文档字符串 """ 函数体 返回值 2.函数名: 和变量名命名规则一 ...

  7. Python 入门基础10 --函数基础3 函数对象、名称空间、装饰器

    今日内容 1.函数对象 2.名称空间与作用域 3.函数的嵌套调用与闭包 4.装饰器 一.函数对象 1.1 定义 函数名存放的就是函数地址,所以函数名也就是对象,称之为函数对象 1.2 函数对象的应用 ...

  8. Python 入门基础11 --函数基础4 迭代器、生成器、枚举类型

    今日目录: 1.迭代器 2.可迭代对象 3.迭代器对象 4.for循环迭代器 5.生成器 6.枚举对象 一.迭代器: 循环反馈的容器(集合类型) 每次重复即一次迭代,并且每次迭代的结果都是下一次迭代的 ...

  9. Python 入门基础12 --函数基础5 匿名函数、内置函数

    今日内容: 1.三元表达式 2.列表.元组生成式 | 字典生成式 3.递归 4.匿名函数 5.内置函数 一.三元表达式 三元运算符:就是 if...else... 语法糖 前提:if 和 else # ...

随机推荐

  1. Cannot instantiate the type AppiumDriver

    I have added following jars in my projects build path: java-client-2.0.0 from http://appium.io/downl ...

  2. 数据结构与算法分析——C语言描述 第三章的单链表

    数据结构与算法分析--C语言描述 第三章的单链表 很基础的东西.走一遍流程.有人说学编程最简单最笨的方法就是把书上的代码敲一遍.这个我是头文件是照抄的..c源文件自己实现. list.h typede ...

  3. [翻译]类型双关不好玩:C中使用指针重新解释是坏的

    原文地址 Type punning isn't funny: Using pointers to recast in C is bad. C语言中一个重新解释(reinterpret)数据类型的技巧有 ...

  4. .NET对象与Windows句柄(一):句柄的基本概念

    在.NET编程中,得益于有效的内存管理机制,对象的创建和使用比较方便,大多数情况下我们无须关心对象创建和分配内存的细节,也可以放心的把对象的清理交给自动垃圾回收来完成.由于.NET类库对系统底层对象进 ...

  5. Android界面组件的四种启动方式

    Android界面组件启动有四种方式 standard,singleTop,singleTask,singleInstance. standard:每次调用都会都会产生新的组件. singletop: ...

  6. Contributing to the C++ Core Guidelines

    Contributing to the C++ Core Guidelines "Within C++ is a smaller, simpler, safer language strug ...

  7. $.Callbacks()

    <script> var cb = $.Callbacks(); //Callbacks(option) 有4个参数,可以多个参数写一起,空格分隔开 //once 多个fire() 只触发 ...

  8. BeanUtils

    BeanUtils包的使用   BeanUtils工具包是由Apache公司所开发,主要是方便程序员对Bean类能够进行简便的操作. 在使用BeanUtils工具包之前我们需要的Jar包有以下几种: ...

  9. No compiler is provided in this environment. Perhaps you are running on a JRE ra

    No compiler is provided in this environment. Perhaps you are running on a JRE ra,有需要的朋友可以参考下. 控制台输出的 ...

  10. Extjs swfUpload 多图片上传

    一.属性介绍   类型 默认值 描述 upload_url String   处理上传文件的服务器端页面的url地址,可以是绝对地址,也可以是相对地址,当为相对地址时相对的是当前代码所在的文档地址 p ...