Python编程快速上手——疯狂填词程序实现方法分析


Posted in Python onFebruary 29, 2020

本文实例讲述了Python疯狂填词程序实现方法。分享给大家供大家参考,具体如下:

题目如下:

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

  • 例如源文本如下: The ADJECTIVE panda walked to the NOUN and then VERB. A nearby NOUN was unaffected by these events.
  • 程序将找到这些出现的单词,提示用户取代他们

Enter an adjective:
silly
Enter a noun:
chandelier
Enter a verb:
screamed
Enter a noun:
pickup truck

思路如下:

  • 程序需要做以下事情:
    读入文本文件
    在相应单词的地方让用户输入替换
    保存修改后的文本文件,并将结果打印到屏幕
  • 代码需要做以下事情:
    导入模块re
    编写函数,创建正则表达式对象
    函数内调用Regex.findall()方法,返回匹配到的所有结果列表
    打开文本文件,导入到变量
    for循环控制输入
    字符串replace方法进行替换
    print()显示更改后的文本到屏幕
    open.write()保存到新文件

代码如下:

import re
def madLibs(longStr):
  madLibsRex = re.compile(r'ADJECTIVE|NOUN|ADVERB|VERB') #正则表达式对象
  print(madLibsRex.findall(longStr)) #验证是否模式匹配正确
  return madLibsRex.findall(longStr)

openFile = open('123.txt','r')
longStr = openFile.read() #将文本内容读入变量longStr
print("源文本如下:",longStr)
for i in madLibs(longStr): #循环遍历函数返回的匹配对象列表
  print("Enter an {0}:".format(i))
  longStr = longStr.replace(i,input()) #调用字符串的replace()方法输入替换,再赋值给longStr
print(longStr)
resultFile = open('new123.txt','w') #在当前工作目录创建一个新的文件
resultFile.write(longStr) #将字符串变量写入resultFile对象
openFile.close()
resultFile.close()

结果如下:

Python编程快速上手——疯狂填词程序实现方法分析

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
深入源码解析Python中的对象与类型
Dec 11 Python
Python程序中设置HTTP代理
Nov 06 Python
Python基于hashlib模块的文件MD5一致性加密验证示例
Feb 10 Python
matlab中实现矩阵删除一行或一列的方法
Apr 04 Python
基于python神经卷积网络的人脸识别
May 24 Python
python+influxdb+shell编写区域网络状况表
Jul 27 Python
Python根据服务获取端口号的方法
Sep 25 Python
Python多线程实现支付模拟请求过程解析
Apr 21 Python
Python 列表中的修改、添加和删除元素的实现
Jun 11 Python
解决TensorFlow程序无限制占用GPU的方法
Jun 30 Python
python plt.plot bar 如何设置绘图尺寸大小
Jun 01 Python
Python开发五子棋小游戏
Apr 28 Python
Python使用GitPython操作Git版本库的方法
Feb 29 #Python
如何使用python代码操作git代码
Feb 29 #Python
使用 Python 遍历目录树的方法
Feb 29 #Python
python 已知一个字符,在一个list中找出近似值或相似值实现模糊匹配
Feb 29 #Python
在python3中实现查找数组中最接近与某值的元素操作
Feb 29 #Python
python pandas移动窗口函数rolling的用法
Feb 29 #Python
基于Python fminunc 的替代方法
Feb 29 #Python
You might like
用PHP制作静态网站的模板框架(三)
2006/10/09 PHP
php下使用无限生命期Session的方法
2007/03/16 PHP
让Json更懂中文(JSON_UNESCAPED_UNICODE)
2011/10/27 PHP
深入解析PHP的引用计数机制
2013/06/14 PHP
PHP生成sitemap.xml地图函数
2013/11/13 PHP
PHP从数组中删除元素的四种方法实例
2017/05/12 PHP
javascript之卸载鼠标事件的代码
2007/05/14 Javascript
javascript面向对象编程(一) 实例代码
2010/06/25 Javascript
教你用AngularJS框架一行JS代码实现控件验证效果
2014/06/23 Javascript
js实现按Ctrl+Enter发送效果
2014/09/18 Javascript
Node.js实现批量去除BOM文件头
2014/12/20 Javascript
jQuery使用hide方法隐藏元素自身用法实例
2015/03/30 Javascript
JavaScript转换二进制编码为ASCII码的方法
2015/04/16 Javascript
BootStrap实用代码片段之一
2016/03/22 Javascript
AngularJS中一般函数参数传递用法分析
2016/11/22 Javascript
JS实现求数组起始项到终止项之和的方法【基于数组扩展函数】
2017/06/13 Javascript
Vue 动态设置路由参数的案例分析
2018/04/24 Javascript
vue仿element实现分页器效果
2018/09/13 Javascript
js滚轮事件 js自定义滚动条的实现
2020/01/18 Javascript
pycharm远程调试openstack代码
2017/11/21 Python
Win7 64位下python3.6.5安装配置图文教程
2020/10/27 Python
Django 路由系统URLconf的使用
2018/10/11 Python
利用python实现简易版的贪吃蛇游戏(面向python小白)
2018/12/30 Python
python实现字符串加密 生成唯一固定长度字符串
2019/03/22 Python
Python进程池Pool应用实例分析
2019/11/27 Python
python实现简单飞行棋
2020/02/06 Python
canvas绘制树形结构可视图形的实现
2020/04/03 HTML / CSS
编码转换,怎样实现将GB2312编码的字符串转换为ISO-8859-1编码的字符串
2014/01/07 面试题
Ruby如何创建一个线程
2013/03/10 面试题
卫校毕业生自我鉴定
2013/10/31 职场文书
电气个人求职信范文
2014/02/04 职场文书
教师师德工作总结2015
2015/07/22 职场文书
小学毕业感言200字
2015/07/30 职场文书
《天使的翅膀》读后感3篇
2019/12/20 职场文书
laravel ajax curd 搜索登录判断功能的实现
2021/04/17 PHP
Python何绘制带有背景色块的折线图
2022/04/23 Python