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 import keyword
5 import sys
6
7 Startwith=string.letters+‘_‘
8 Othersymbol=string.letters+‘_‘+string.digits
9 def CheckID(s):
10 if s[0] in Startwith:
11 if len(s)==1:
12 print "The ID is valid"
13 if s in keyword.kwlist:
14 print "And the ID is a key word"
15 else:
16 for j in s[1:]:
17 if j not in Othersymbol:
18 print "The other symbol is invalid."
19 sys.exit()
20 print "The ID is valid."
21 if s in keyword.kwlist:
22 print "And the ID is a key word"
23 else:
24 print "The startwith is invalid."
25
26
27
28
29 if __name__=="__main__":
30 sid=raw_input("Enter a string:")
31 CheckID(sid)

6–3.排序

(a) 输入一串数字,从大到小排列之.
(b) 跟 a 一样,不过要用字典序从大到小排列之.


 1 #!/usr/bin/python
2
3 astring=raw_input("Enter a list of num:")
4 alist=astring.split()
5 print alist
6
7 ilist=[]
8 for s in alist:
9 i=int(s)
10 ilist.append(i)
11
12 print ilist
13 print sorted(ilist)
14 #print ilist.sort()
15 print sorted(alist)
16 #print alist.sort()

6–4.算术. 更新上一章里面你的得分测试练习方案,把测试得分放到一个列表中去.你的代
码应该可以计算出一个平均分,见练习 2-9 和练习
5-3.


 1 !/usr/bin/python
2
3 def value(num):
4 if 90<=num<=100:
5 #print ‘A‘
6 return ‘A‘
7 elif 80<=num<=89:
8 #print ‘B‘
9 return ‘B‘
10 elif 70<=num<=79:
11 #print ‘C‘
12 return ‘C‘
13 elif 60<=num<=69:
14 #print ‘D‘
15 return ‘D‘
16 elif num>=0 and num<60:
17 #print ‘F‘
18 return ‘F‘
19 else:
20 print "The num is invalid."
21
22
23 if __name__=="__main__":
24 vlist=[]
25 ilist=[56,34,78,90,62,81,100]
26 for i in ilist:
27 vlist.append(value(i))
28 print vlist
29 print sorted(ilist)

6–5.
字符串
(a)更新你在练习 2-7
里面的方案,使之可以每次向前向后都显示一个字符串的一个字符.
(b)通过扫描来判断两个字符串是否匹配(不能使用比较操作符或者
cmp()内建函数)。附加题:
在你的方案里加入大小写区分.
(c)判断一个字符串是否重现(后面跟前面的一致).附加题:在处理除了严格的回文之外,加入对
例如控制符号和空格的支持。
(d)接受一个字符,在其后面加一个反向的拷贝,构成一个回文字符串.

答:

c


 1 #!/usr/bin/python
2 #encoding=utf-8
3 #判断一个字符串是否重现(后面跟前面的一致).
4 #附加题:在处理除了严格的回文之外,加入对例如控制符号和空格的支持。
5 import sys
6
7 def palindorom(s):
8 l=len(s)
9 if l%2<>0:
10 print "The string is not palindorom."
11 else:
12 for i in (0,int((l-1)/2)):
13 if s[i]==s[-(i+1)]:
14 pass
15 else:
16 print "The string is not palindorom."
17 sys.exit()
18 print "The string is a palindorom."
19
20 if __name__=="__main__":
21 astring=raw_input("Enter a string:")
22 palindorom(astring)

d


 1 #!/usr/bin/python
2 #encoding:utf-8
3 #接受一个字符,在其后面加一个反向的拷贝,构成一个回文字符串.
4
5 original=raw_input("Enter a string:").strip()
6 length=len(original)
7 palindorom=original
8 for i in range(1,length+1):
9 palindorom=palindorom+original[-i]
10
11 print palindorom

6–6.字符串.创建一个 string.strip()的替代函数:接受一个字符串,去掉它前面和后面的
空格(如果使用
string.*strip()函数那本练习就没有意义了)


 1 #!/usr/bin/python
2 #encoding:utf-8
3 #创建一个 string.strip()的替代函数:接受一个字符串,去掉它前面和后面的
4 #空格(如果使用 string.*strip()函数那本练习就没有意义了)
5
6 original=raw_input("Enter a string:")
7 length=len(original)
8 print length
9 for i in range(0,length):
10 if original[i]<>‘ ‘:
11 lstrip=original[i:]
12 print len(lstrip)
13 break
14 else:
15 pass
16
17
18 for i in range(1,length+1):
19 if lstrip[-1]<>‘ ‘:
20 strip=lstrip
21 break
22 elif lstrip[-i]<>‘ ‘:
23 strip=lstrip[:-i+1]
24 print len(strip)
25 break
26 else:
27 pass
28
29 print strip

6–7.调试.看一下在例 6.5
中给出的代码(buggy.py)
(a)研究这段代码并描述这段代码想做什么.在所有的(#)处都要填写你的注释.
(b)这个程序有一个很大的问题,比如输入
6,12,20,30,等它会死掉,实际上它不能处理任何的偶
数,找出原因.
(c)修正(b)中提出的问题.


 1 #!/usr/bin/python
2
3 num_str=raw_input("Enter a number:")
4
5 num_num=int(num_str)
6
7 fac_list=range(1,num_num+1)
8
9 print "BEFORE:",fac_list
10 i=0
11 while i<len(fac_list):
12 if num_num % (fac_list[i])==0:
13 del fac_list[i]
14 else:
15 i=i+1
16
17 print "AFTER:",fac_list

Python核心编程(第二版) 第六章习题答案,布布扣,bubuko.com

时间: 2024-10-22 12:45:36

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

Python核心编程第二版 第六章课后练习

6-4.算术.把测试得分放到一个列表中去,你的代码应该可以计算一个平均分. num = input("请输入成绩,成绩以空格分开") totalnum = 0 numbers = num.split(' ') numbers = list(map(int, numbers)) for num in numbers: totalnum += num print(totalnum//len(numbers)) 6-6.字符串.创建一个string.strip()的替代函数:接受一个字符串,

核心编程第二版第六章习题

6–1. 字符串.string 模块中是否有一种字符串方法或者函数可以帮我鉴定一下一个字符串是否是另一个大字符串的一部分? 成员关系操作符in obj in seq 6–3. 排序(a) 输入一串数字,从大到小排列之.(b) 跟 a 一样,不过要用字典序从大到小排列之 (a) num=raw_input(">>") lisnum=list(num) list.sort(lisnum) print lisnum (b)没看懂 6–4. 算术. 更新上一章里面你的得分测试练习方

python核心编程第二版

初学Python这是一本有关Python开发的指南涵盖近期发布的Pyttlon版本的核心功能特性,而不仅仅是语法学习更多的高阶内容,如正则表达式.网络.多线程.图形用户界面.Web/CGl和Python扩展等包括几个全新的章节,关于数据库.网络客户端.Java/Jytt30n和Microsoft Office等 展示数以百计的代码片段.交互实例和大量加强您的Python技能的实用练习"对Wesley Chun<Python核心编程>第二版的漫长等待是值得的--它的深邃.它的全面,以及

Python 核心编程 (第二版) 中文高清pdf版【110M】高清下载

Python 核心编程是经典的Python指导书,在第一版的基础上进行了全面升级.全书分为两个部分:第1部分占据了大约三分之二的篇幅,阐释这门语言的“核心”内容,包括基本的概念和语句.语法和风格. Python对象.数字类型.序列类型.映射和集合类型.条件和循环.文件和输入/输出.错误和异常.函数和函数式编程.模块.面向对象编程.执行环境等内容:第2部分则提供了各种高级主题来展示可以使用Python做些什么,包括正则表达式.网络编程.网络客户端编程.多线程编程.图形用户界面编程. Web编程.数

《Python核心编程(第二版)》pdf

下载地址:网盘下载 内容简介  · · · · · · 本书是Python开发者的完全指南--针对 python 2.5全面升级 ·学习专业的Python风格.最佳实践和好的编程习惯: ·加强对Python对象.内存模型和Python面向对象特性的深入理解: ·构建更有效的Web.CGI.互联网.网络和其他客户端/服务器架构应用程序及软件: ·学习如何使用Python中的Tkinter和其他工具来开发自己的GUI应用程序及软件: ·通过用C等语言编写扩展来提升Python应用程序的性能,或者通过

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

12-1.路径搜索和搜索路径.路径搜索和搜索路径之间有什么不同? 前者是指查找某个文件的操作,后者是去查找一组目录. 12-2. 导入属性.假设你的模块mymodule里有一个foo()函数. (a)把这个函数导入到你的名称空间有哪两种方法? (b)这两种方法导入后的名称空间有什么不同? import mymodule from mymodule import foo 第一种将mymodule里的属性全部导入,第二种只导入foo 12-3.导入"import module"和"

python核心编程第二版 第二章练习题解答 未完待续

有人可能会想,连2-1和2-2这样的题目都回答,够无聊的啊.因为现在处于并长期处于成为大师的第一阶段------守的阶段 2-1 >>> a= '123' >>> a '123' >>> print (a) 123 a是字符串123,如果格式化输出有问题报如下错误: >>> print ('a is %d'% a) Traceback (most recent call last): File "<stdin>&

python核心编程第二版第二章习题

2.1 2.3 2.4 2.5 2.6 2.7 2.8 2.9 2.10 2.11 def test_sum(): tup=("1","2","3","6","5") sum=0 for i in tup: sum=float(i)+sum return sum def test11(): while True: string=raw_input(">>") if strin

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-except:当try代码块运行出错,except代

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

注:我使用的python3.5. 其中range和xrange,input和raw_input已经合并 8-1.条件语句.请看下面的代码: # statement Aif x > 0:    # statement B    passelif x < 0:    # statement C    passelse:    # statement D    pass# statement E(a)如果x<0,上面哪个语句(A,B,C,D,E)将被执行?(b)如果x=0,上面哪个语句将被执行