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中的文件和目录操作实现代码
Mar 13 Python
Python的语言类型(详解)
Jun 24 Python
python删除服务器文件代码示例
Feb 09 Python
dataframe 按条件替换某一列中的值方法
Jan 29 Python
python使用adbapi实现MySQL数据库的异步存储
Mar 19 Python
python实现生成Word、docx文件的方法分析
Aug 30 Python
python图像处理模块Pillow的学习详解
Oct 09 Python
Python with关键字,上下文管理器,@contextmanager文件操作示例
Oct 17 Python
Python 生成VOC格式的标签实例
Mar 10 Python
Python超简单容易上手的画图工具库推荐
May 10 Python
Python异常类型以及处理方法汇总
Jun 05 Python
pyqt5蒙版遮罩mask,setmask的使用
Jun 11 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 会话(session 时间设定)使用入门代码
2008/06/05 PHP
PHP多线程类及用法实例
2014/12/03 PHP
PHP简单实现数字分页功能示例
2016/08/24 PHP
动态表单验证的操作方法和TP框架里面的ajax表单验证
2017/07/19 PHP
利用ASP发送和接收XML数据的处理方法与代码
2007/11/13 Javascript
小型js框架veryide.librar源代码
2009/03/05 Javascript
jquery select(列表)的操作(取值/赋值)
2009/08/06 Javascript
Jquery乱码的一次解决过程 图解教程
2010/02/20 Javascript
js TextArea的选中区域处理
2010/12/28 Javascript
页面按钮禁用与解除禁用的方法
2014/02/19 Javascript
JavaSript中变量的作用域闭包的深入理解
2014/05/12 Javascript
JavaScript中window.showModalDialog()用法详解
2014/12/18 Javascript
深入剖析JavaScript:Object类型
2016/05/10 Javascript
Javascript获取图片原始宽度和高度的方法详解
2016/09/20 Javascript
BootStrap实现响应式布局导航栏折叠隐藏效果(在小屏幕、手机屏幕浏览时自动折叠隐藏)
2016/11/30 Javascript
JS简单判断函数是否存在的方法
2017/02/13 Javascript
js实现彩色条纹滚动条效果
2017/03/15 Javascript
js上传图片预览的实现方法
2017/05/09 Javascript
vue-ajax小封装实例
2017/09/18 Javascript
jQuery中内容过滤器简单用法示例
2018/03/31 jQuery
JS实现马赛克图片效果完整示例
2019/04/13 Javascript
vue-router的hooks用法详解
2020/06/08 Javascript
详解Python2.x中对Unicode编码的使用
2015/04/03 Python
用TensorFlow实现lasso回归和岭回归算法的示例
2018/05/02 Python
python 制作自定义包并安装到系统目录的方法
2018/10/27 Python
Django数据库连接丢失问题的解决方法
2018/12/29 Python
python的turtle库使用详解
2019/05/10 Python
python 将日期戳(五位数时间)转换为标准时间
2019/07/11 Python
在pytorch中对非叶节点的变量计算梯度实例
2020/01/10 Python
Sublime Text3最新激活注册码分享适用2020最新版 亲测可用
2020/11/12 Python
CSS3 分类菜单效果
2019/05/27 HTML / CSS
女子锻炼服装和瑜伽服装:Splits59
2019/03/04 全球购物
以思科路由器为例你写下单臂路由的配置命令
2013/08/03 面试题
幼儿园教师的考核评语
2014/04/18 职场文书
工作表扬信
2015/01/17 职场文书
史上最全书信经典范文大全(建议收藏)
2019/07/10 职场文书