python核心编程--第十章 11.11 练习

#!/usr/bin/python
# -*- coding: utf-8 -*-

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

# (a)
def min2(a, b):
    if (a < b):
        return a
    else:
        return b

def max2(a, b):
    if (a > b):
        return a
    else:
        return b
# (b)
def my_min(*nkwargs):
    args = []
    for arg in nkwargs:
        args.append(arg)
    else:
        return reduce(min, args)

def my_max(*nkwargs):
    args = []
    for arg in nkwargs:
        args.append(arg)
    else:
        return reduce(max2, args)

print my_max(1, 2, 3, 4, 5, 6, 7)
print my_max("a", "c", "d", "A")
print my_min(1, 2, 3, 4, 5, 6, 7)
print my_min("a", "c", "d", "A")
#!/usr/bin/python
# -*- coding: utf-8 -*-

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

def printf(format, *nkwargs):
    print format % nkwargs

printf("%s, %d, %f", "aaa", 10.54, 10)
#!/usr/bin/python
# -*- coding: utf-8 -*-

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

def average(*numbers):
    count = len(numbers)
    return reduce(lambda x, y: float(x+y), numbers)/count

print average(1, 2, 3, 4, 5, 6, 7, 8, 9)

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

显示folder文件夹下的所有非隐藏目录。

python核心编程--第十章 11.11 练习

时间: 2024-10-19 15:16:46

python核心编程--第十章 11.11 练习的相关文章

《Python核心编程》 第十章 错误和异常

10–1. 引发异常. 以下的哪个因素会在程序执行时引发异常? 注意这里我们问的并不是异常的原因. a) 用户 b) 解释器 c) 程序 d) 以上所有 e) 只有 b) 和 c) f) 只有 a) 和 c) 答:f 10–2. 引发异常. 参考上边问题的列表, 哪些因素会在执行交互解释器时引发异常? 答:f 10–3. 关键字. 用来引发异常的关键字有那些? 答:raise 10–4. 关键字. try-except 和 try-finally 有什么不同? 答: 你可以使用 try-exce

python核心编程--笔记

python核心编程--笔记 的解释器options: 1.1 –d   提供调试输出 1.2 –O   生成优化的字节码(生成.pyo文件) 1.3 –S   不导入site模块以在启动时查找python路径 1.4 –v   冗余输出(导入语句详细追踪) 1.5 –m mod 将一个模块以脚本形式运行 1.6 –Q opt 除法选项(参阅文档) 1.7 –c cmd 运行以命令行字符串心事提交的python脚本 1.8 file   以给定的文件运行python脚本 2 _在解释器中表示最后

自学python核心编程

之前看过一段时间的小甲鱼零基础自学python,b站上有高清免费资源[av4050443],但是作为零基础实在学得艰难,下载了python核心编程pdf,在这里做一些笔记. 虽然使用的是第二版的教材,但我使用的是python3.5.2,感觉上差别不大,可以阅读. 这里从第二章的练习题开始! -------------------------------------------------------- 2 - 5:用while 和for 打印0-10: i = 0 while i < 11: p

Python核心编程(第二版) 第六章习题答案

6–1.字符串.string 模块中是否有一种字符串方法或者函数可以帮我鉴定一下一个字符串是否是另一个大字符串的一部分? 答:有,string.find(str,beg,end) 6–2.字符串标识符.修改例 6-1 的 idcheck.py 脚本,使之可以检测长度为一的标识符,并且可以识别 Python 关键字,对后一个要求,你可以使用 keyword 模块(特别是 keyword.kelist)来帮你. 1 #!/usr/bin/python 2 3 import string 4 impo

Python核心编程这本书的一些错误

<Python核心编程第二版>这本书比<Python基础教程第二版修订版>详细很多,丰富了很多细节,虽然它是一本经典的入门书,但我发现还是存在一些明显的错误.在面向对象编程这一章,有两个错误 1).它说任何类都有一些内置的特殊的类属性(即程序员不在类中定义也会存在),见截图 2).它说__new__方法比__init__方法更像是类的构造器.见截图: 下面进行测试: 1 #encoding:utf-8 2 class MyClass(): 3 def doPrint(self):

学习《Python核心编程》做一下知识点提要,方便复习(一)

学习<Python核心编程>做一下知识点提要,方便复习. 计算机语言的本质是什么? a-z.A-Z.符号.数字等等组合成符合语法的字符串.供编译器.解释器翻译. 字母组合后产生各种变化拿python来说就是.keyword.数值,类,函数,运算符,操作符...... 1.变量不用声明,类型不固定 2.True,False = False,True读出了什么?True是个bool()类实例 3.类型工厂函数就是python2.2后把int() bool()等对数据类型操作的函数分装成对象 类 了

Python核心编程_第二章课后习题

以下是自己在学习Python核心编程时,做的课后练习题.现在把它们贴出来,以记录自己的学习过程.小弟是机械出身,很多练习题目写的很是机械.虽然写出来的脚本都能满足题目要求,但效率可能不是最好的,所以,小弟还是厚着脸皮把它们给贴出来,一来可以让高手指点,二来可以与我一样在学习Python的兄弟共同学习. 以下的程序均以题目标号命名,如2-3这个题目,程序名就为2_3.py. 习题2_3.py #!/usr/bin/env python A = 10 B = 4 print "A plus B is

Python核心编程(第二版) 第五章习题答案

5-1.整型.讲讲Python普通整型和长整型的区别. 答:Python 的标准整数类型是最通用的数字类型.在大多数 32 位机器上,标准整数类型的取值范围是-2**31到 2**31-1,也就是-2,147,483,648 到 2,147,483,647.如果在 64 位机器上使用 64 位编译器编译 Python,那么在这个系统上的整数将是 64 位. Python 的长整数类型能表达的数值仅仅与你的机器支持的(虚拟)内存大小有关. 5-2.操作符.(a)写一个函数,计算并返回两个数的乘积.

Python核心编程第五章习题

Python核心编程-第五章-习题 5.1  整形,讲讲Python普通整形与长整形的区别? Python的标准整形类型是最通用的数字类型.在大多数32位机器上,标准整形类型的取值范围是-2**32-2**32 - 1. Python的长整型类型能表达的数值仅仅与你的机器支持的(虚拟)内存大小有关,换句话说,Python能轻松表达很大的整数. 长整型类型是标准整形类型的超集,当程序需要使用比标准整形更大的整型时,可以使用长整型类型,在整型值后面添加L,表示这个为长整型,3.0版本已经统一称为为整