python编程快速上手之第8章实践项目参考答案


第8章实践项目之疯狂填词

  创建一个一个疯狂填词(Mad Libs),程序,它将读入文本文件,并让用户在该文本文件中出现 ADJECTIVE,NOUN,VERB等单词的地方,加上他们自己的文本。

首先准备一个a.txt的文本文件

程序代码如下:

#!/usr/bin/env python3.4 # coding:utf-8 # 8.9.2
import re f1 = open('a.txt','r') strf1 = f1.read() print("原文件内容为:") print(strf1) strf1_list = strf1.split(' ') f1.close() # 由于原文件需要被替换的单词都是大写的英文单词 # 使用正则表达式找出原文件中所有将被替换的单词
replist = re.findall(r'[A-Z]{2,}',strf1) print("原文件中将被替换的单词为:") print(replist) print() for rep in replist: inputstr = input("Enter %s " % rep) print(inputstr) # 先将替换后的单词插入到原列表对应的位置
 strf1_list.insert(strf1_list.index(rep),inputstr) # 再将原先的单词删除
 strf1_list.remove(rep) # 将列表转换为字符串
newstr = ' '.join(strf1_list) print("替换后的内容为:") #print(newstr) # 将新的字符串写入文件b.txt中,并打印到屏幕
f2 = open('b.txt','w+') f2.write(newstr) f2.close() f3 = open('b.txt','r') print(f3.read()) f3.close()

输出结果为:

cat下b.txt

OK 大功告成。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM