python核心编程第二版第9章习题答案Word格式文档下载.docx
- 文档编号:14021978
- 上传时间:2022-10-17
- 格式:DOCX
- 页数:31
- 大小:25.82KB
python核心编程第二版第9章习题答案Word格式文档下载.docx
《python核心编程第二版第9章习题答案Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《python核心编程第二版第9章习题答案Word格式文档下载.docx(31页珍藏版)》请在冰豆网上搜索。
)f1=open(f,r)sum=0foriinf1:
sum+=1printsumf=raw_input(Enterfilename:
sum+=1printsum方法二:
)f1=open(f,r)allline=f1.readlines()f1.close()printlen(allline)94.文件访问.写一个逐页显示文本文件的程序.提示输入一个文件名,每次显示文本文件的25行,暂停并向用户提示按任意键继续.,按键后继续执行.答案:
)f1=open(f,r)allline=f1.readlines()f1.close()sum=0foriinallline:
printi,sum+=1ifsum=25:
a=raw_input(pressanykeytocontinue:
)sum=0方法二importosF=raw_input(plsinputafilename:
)n=0f=open(F,r)foriinf:
printi,n+=1ifn=25:
n=0os.system(pause)f.close()9-5考试成绩,改进你的考试成绩问题(练习5-3和6-4),要求能从多个文件中读入考试成绩。
文件的数据格式由你自己决定。
答案:
f=open(test1.txt,r)scores=foriinf:
if0=int(i.strip()=100:
scores.append(int(i.strip()else:
printscorewrong,pleaseagainifint(i.strip()60:
printscoreisE,ielifint(i.strip()70:
printscoreisD,ielifint(i.strip()80:
printscoreisC,ielifint(i.strip()90:
printscoreisB,ielse:
printscoreisA,if.close()printaveragescoreis%.2f%(sum(scores)/len(scores)96.文件比较.写一个比较两个文本文件的程序.如果不同,给出第一个不同处的行号和列号.答案:
f1=raw_input(Enterafilename:
)f2=raw_input(Enterafilename:
)F1=open(f1,r)F2=open(f2,r)F1allline=F1.readlines()F2allline=F2.readlines()F1.close()F2.close()len1=len(F1allline)len2=len(F2allline)minlen1=min(len1,len2)foriinrange(minlen1):
printF1alllinei,F2alllineiifF1alllinei!
=F2alllinei:
minlen2=min(len(F1alllinei),len(F2alllinei)forjinrange(minlen2):
ifF1alllineij!
=F2alllineij:
printrowis%d,columnis%d%(i+1,j+1)breakelse:
continueelse:
printtheyareequaln97.解析文件.Win32用户:
创建一个用来解析Windows.ini文件的程序.POSIX用户:
创建一个解析/etc/serves文件的程序.其它平台用户:
写一个解析特定结构的系统配置文件的程序.答案:
这题没看懂,抄的别人option=f=open(rc:
windowswin.ini)forlineinf:
ifline.startswith(;
):
continueifline.startswith():
iterm=name=line1:
line.rfind()option.setdefault(name,iterm)continueif=inline:
optionname.append(line.strip()printoption98.模块研究.提取模块的属性资料.提示用户输入一个模块名(或者从命令行接受输入).然后使用dir()和其它内建函数提取模块的属性,显示它们的名字,类型,值.答案:
m=raw_input(Enteramodulename:
)module=_import_(m)m1=dir(module)printm1foriinm1:
printname:
iprinttyoe:
type(getattr(module,i)printvalue:
getattr(module,i)print99.Python文档字符串。
进入Python标准库所在的目录。
检查每个.py文件看是否有_doc_字符串,如果有,对其格式进行适当的整理归类.你的程序执行完毕后,应该会生成一个漂亮的清单.里边列出哪些模块有文档字符串,以及文档字符串的内容.清单最后附上那些没有文档字符串模块的名字.附加题:
提取标准库中各模块内全部类(class)和函数的文档.答案:
这是入口#coding:
utf-8importosimportsysnum=将所有路径文件名全部提取出来deffun(dirName):
foriinos.listdir(dirName):
ifos.path.isdir(dirName+i):
fun(dirName+i)else:
num.append(dirName+i)fun(rc:
python27Lib)hasDoc=FalsestrTemp=fileobj1=open(hasdoc.txt,a+)fileobj2=open(nodoc.txt,a+)foriinnum:
printifobj=open(i)foreachlineinfobj:
if(nothasDoc)andeachline.startswith():
hasDoc=TrueelifhasDocandeachline.startswith():
hasDoc=FalsestrTemp+=eachlinebreakifhasDoc:
strTemp+=eachlineelse:
breakifstrTemp!
=:
fileobj1.write(filename:
+i+n)fileobj1.write(_doc_+n)fileobj1.write(strTemp+n)else:
fileobj2.write(文件名:
+i+n)strTemp=fobj.close()fileobj1.close()fileobj2.close()9-10.家庭理财。
创建一个家庭理财程序。
你的程序需要处理储蓄、支票、金融市场,定期存款等多种账户。
为每种账户提供一个菜单操作界面,要有存款、取款、借、贷等操作。
另外还要提供一个取消操作选项。
用户退出这个程序时相关数据应该保存到文件里取(出于备份的目的,程序执行过程中也要备份)。
太难了,不会。
9-11.Web站点地址.a)编写一个URL书签管理程序.使用基于文本的菜单,用户可以添加,修改或者删除书签数据项.书签数据项中包含站点的名称,URL地址,以及一行简单说明(可选).另外提供检索功能,可以根据检索关键字在站点名称和URL两部分查找可能的匹配.程序退出时把数据保存到一个磁盘文件中去;
再次执行时候加载保存的数据.b)改进a)的解决方案,把书签输出到一个合法且语法正确的HTML文件(.html或htm)中,这样用户就可以使用浏览器查看自己的书签清单.另外提供创建文件夹功能,对相关的书签进行分组管理.附加题:
请阅读Python的re模块了解有关正则表达式的资料,使用正则表达式对用户输入的URL进行验证.答案:
不会做,参考自importre,osdefcheckurl(url):
regex=pile(r(?
:
http|ftp)?
/#http:
/orhttps:
/r(?
(?
A-Z0-9(?
A-Z0-90,61A-Z0-9)?
.)+(?
A-Z2,6.?
|A-Z0-9-2,.?
)|rlocalhost#localhostrd1,3.d1,3.d1,3.d1,3)r(?
d+)?
r(?
/?
|/?
S+)$,re.IGNORECASE)ifregex.match(url):
returnTrueelse:
returnFalsedefgeturl():
name=raw_input(plsinputaurlname:
)while1:
url=raw_input(plsinputaurladdress:
)ifcheckurl(url):
breakelse:
printwrongurlformat,plsinputagainmark=raw_input(plsinputaurlmark:
)folder=raw_input(plsinputaurlfolder:
)return(name,url,mark,folder)defload(filename):
f=open(filename,a+)bmlist=f.readlines()f.close()returnbmlistdefsave(bmlist,filename):
f=open(filename,w+)forlineinbmlist:
iflen(line):
continuef.write(line)f.close()defadd(bmlist,name,url,mark,folder=default):
bookmark=bookmark=name+;
+url+;
+mark+;
+folder+os.linesepifbookmarknotinbmlist:
bmlist.append(bookmark)defmodify(bmlist,index,name,url,mark,folder):
+folder+os.linesepbmlistindex=bkdefdelbm(bmlist,index):
bmlist.pop(index)deffindbk(bmlist,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- python 核心 编程 第二 习题 答案