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 13 Python
python中子类调用父类函数的方法示例
Aug 18 Python
Python反射的用法实例分析
Feb 11 Python
Python for循环与range函数的使用详解
Mar 23 Python
python交互模式下输入换行/输入多行命令的方法
Jul 02 Python
python使用Matplotlib改变坐标轴的默认位置
Oct 18 Python
PyTorch和Keras计算模型参数的例子
Jan 02 Python
Python3操作YAML文件格式方法解析
Apr 10 Python
Python实现文件压缩和解压的示例代码
Aug 12 Python
Python中openpyxl实现vlookup函数的实例
Oct 28 Python
Python 实现图片转字符画的示例(静态图片,gif皆可)
Nov 05 Python
Python机器学习算法之决策树算法的实现与优缺点
May 13 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中利用XML技术构造远程服务(上)
2006/10/09 PHP
php面向对象全攻略 (十) final static const关键字的使用
2009/09/30 PHP
php中将字符串转为HTML的实体引用的一个类
2013/02/03 PHP
php.ini修改php上传文件大小限制的方法详解
2013/06/17 PHP
php实现两个数组相加的方法
2015/02/17 PHP
laravel实现按时间日期进行分组统计方法示例
2019/03/23 PHP
用倒置滤镜把div倒置,再把table倒置。
2007/07/31 Javascript
用按钮控制iframe显示的网页实现方法
2013/02/04 Javascript
浅谈javascript事件取消和阻止冒泡
2015/05/26 Javascript
JS实现三个层重叠点击互相切换的方法
2015/10/06 Javascript
利用CSS、JavaScript及Ajax实现图片预加载的三大方法
2017/01/22 Javascript
ionic App问题总结系列之ionic点击系统返回键退出App
2017/08/19 Javascript
jQuery实现的简单图片轮播效果完整示例
2018/02/08 jQuery
微信小程序实现倒计时补零功能
2018/07/09 Javascript
Vue-input框checkbox强制刷新问题
2019/04/18 Javascript
详解基于 Node.js 的轻量级云函数功能实现
2019/07/08 Javascript
详解Vuex下Store的模块化拆分实践
2019/07/31 Javascript
Python中使用pprint函数进行格式化输出的教程
2015/04/07 Python
Python实现的使用telnet登陆聊天室实例
2015/06/17 Python
python使用邻接矩阵构造图代码示例
2017/11/10 Python
Python设计模式之命令模式简单示例
2018/01/10 Python
Python实现的拟合二元一次函数功能示例【基于scipy模块】
2018/05/15 Python
python smtplib模块自动收发邮件功能(一)
2018/05/22 Python
selenium + python 获取table数据的示例讲解
2018/10/13 Python
python输出决策树图形的例子
2019/08/09 Python
基于Python实现拆分和合并GIF动态图
2019/10/22 Python
python使用rsa非对称加密过程解析
2019/12/28 Python
main 函数执行以前,还会执行什么代码
2013/04/17 面试题
数据库面试要点基本概念
2013/10/31 面试题
《乌鸦和狐狸》教学反思
2014/02/08 职场文书
陈安之励志演讲稿
2014/08/21 职场文书
合伙开公司协议书范本
2014/10/28 职场文书
2014年就业工作总结
2014/11/26 职场文书
2015年元旦主持词开场白
2014/12/14 职场文书
vue3使用vue-router的完整步骤记录
2021/06/20 Vue.js
Nginx静态压缩和代码压缩提高访问速度详解
2022/05/30 Servers