Python核心编程第二版 第十一章课后答案

11-3. 
函数。在这个练习中,我们将实现max()和min()内建函数。 
(a)写分别带两个元素返回一个较大和较小元素,简单的max2()和min2()函数。他们应该可以用任意的Python对象运作。举例来说,max2(4,8)和min2(4,8)会各自每次返回8和4。 
(b)创建使用了在a部分中的解来重构max()和min()的新函数my_max()和my_min()。这些函数分别返回非空队列中一个最大和最小值。他们也能带一个参数集合作为输入。用数字和字符串来测试你的解。 

from operator import lt def max2(num1,num2): ele = lt(num1,num2) if ele == True: return num2 else: return num1 def min2(num1,num2): ele = lt(num1,num2) if ele == True: return num1 else: return num2
def my_max(l): eleList = l for i in range(len(eleList)-1): eleList[0] = max2(eleList[0],eleList[i+1]) return eleList[0] def my_min(l): eleList = l for i in range(len(eleList)-1): eleList[0] = min2(eleList[0],eleList[i+1]) return eleList[0]

 

11–6. 变长参数。下一个称为printf()的函数。有一个值参数,格式字符串。剩下的就是根据格式化字符串上的值,要显示在标准输出上的可变参数,格式化字符串中的值允许特别的字符串格式操作指示符,如%d, %f, etc。提示:解是很琐碎的----无需实现字符串操作符功能性,但你需要显示用字符串格式化操作(%)

def printf(fmt,*var): print (fmt % var)

 

11–10.用filter()进行函数式编程。在unix 文件系统中,在每个文件夹或者目录中都有两个特别的文件:'.'表示现在的目录,'..'表示父目录。给出上面的知识,看下os.listdir()函数的文档并描述这段代码做了什么:files = filter(lambda x: x and x[0] != '.', os. listdir(folder)) 

将文件过滤出来。

 

11–17.定义 
(a) 描述偏函数应用和currying 之间的区别。 
(b) 偏函数应用和闭包之间有什么区别? 
(c) 最后,迭代器和生成器是怎么区别开的? 

我理解,偏函数就是匿名函数。

匿名函数:没有函数名称的函数;

闭包:一个可以使用另外一个函数作用域中的变量的函数,函数调用返回后一个没有释放资源的栈区;

迭代器和生成器类比的话,赌场发牌的荷官算是一个比较接近的例子。
本来你需要自己去处理一堆牌(一个 collection),现在你有了这个对象,只要不断问他要“下一张”,他要是有自然会给你,没有就结束(StopIteration)。


__EOF__

本文作者闪电旅途
本文链接https://www.cnblogs.com/jiaoyang77/p/7489553.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   闪电旅途  阅读(751)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗
点击右上角即可分享
微信分享提示