chpter11~函数和函数式编程

11-3 函数。在这个练习中,咱们将实现 max()和 min()内建函数。python

(a) 写一个带两个元素的 max2() 和 min2()函数,分别返回一个较大和较小元素。举例来讲,max2(4,8)和 min2(4,8)会各自每次返回 8 和 4。编程

(b) 建立使用了在 a 部分中的解来重构 max()和 min()的新函数 my_max()和 my_min().这些函数分别返回非空队列中一个最大和最小值。它们也能带一个参数集合做为输入。用数字和字符串来测试你的解。函数式编程

11-7. 用map()进行函数式编程。给定一对同一大小的列表,如[1,2,3]和[‘abc’,’def,‘ghi’, …,将两个标归并为一个由每一个列表元素组成的元组的单一的表,以使咱们的结果看起来像这样:{[(1,‘abc’), (2,‘def’), (3,‘ghi’), …]。(虽然这问题在本质上和第6章的一个问题类似,那时两个解没有直接的联系)而后建立用zip内建函数建立另外一个解。函数

11–8. 用 filer()进行函数式编程.使用练习 5-4 你给出的代码来决定闰年。更新你的代码一 边他成为一个函数若是你尚未那么作的话。而后写一段代码来给出一个年份的列表并返回一个只 有闰年的列表。而后将它转化为用列表解析。测试

11–9. 用 reduce()进行函数式编程。复习 11.7.2 部分,阐述如何用 reduce()数字集合的累加的代码。修改它,建立一个叫 average()的函数来计算每一个数字集合的简单的平均值。对象

11–12. 传递函数。给在这章中描述的 testit()函数写一个姊妹函数。timeit()会带一个函数对象(和参数一块儿)以及计算出用了多少时间来执行这个函数,而不是测试执行时的错误。 返回下面的状态:函数返回值,消耗的时间。你能够用 time.clock()或者 time.time(),不管哪个给你提供了较高的精度。 (通常的共识是在 POSIX 上用 time.time(), 在 win32 系统上用 time.clock()) 注意:timeit()函数与 timeit 模块不相关(在 python2.3 中引入)队列

相关文章
相关标签/搜索