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实现颜色色值转换的小工具
Oct 27 Python
Python实现一个服务器监听多个客户端请求
Apr 12 Python
Appium Python自动化测试之环境搭建的步骤
Jan 23 Python
Python匿名函数/排序函数/过滤函数/映射函数/递归/二分法
Jun 05 Python
Django网络框架之创建虚拟开发环境操作示例
Jun 06 Python
详解python实现数据归一化处理的方式:(0,1)标准化
Jul 17 Python
python 图像处理画一个正弦函数代码实例
Sep 10 Python
Python超越函数积分运算以及绘图实现代码
Nov 20 Python
python os.path.isfile()因参数问题判断错误的解决
Nov 29 Python
在 Python 中接管键盘中断信号的实现方法
Feb 04 Python
基于python判断字符串括号是否闭合{}[]()
Sep 21 Python
python中append函数用法讲解
Dec 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 MVC模式在网站架构中的实现分析
2010/03/04 PHP
php使用base64加密解密图片示例分享
2014/01/20 PHP
php递归函数三种实现方法及如何实现数字累加
2015/08/07 PHP
PHP实现类似于C语言的文件读取及解析功能
2017/09/01 PHP
Thinkphp5框架实现获取数据库数据到视图的方法
2019/08/14 PHP
JQuery 图片延迟加载并等比缩放插件
2009/11/09 Javascript
浅析javascript闭包 实例分析
2010/12/25 Javascript
offsetHeight在OnLoad中获取为0的现象
2013/07/22 Javascript
js传中文参数controller里获取参数乱码问题解决方法
2014/01/03 Javascript
JS(JQuery)操作Array的相关方法介绍
2014/02/11 Javascript
node.js Web应用框架Express入门指南
2014/05/28 Javascript
Js实现手机发送验证码时按钮延迟操作
2014/06/20 Javascript
jQuery中parentsUntil()方法用法实例
2015/01/07 Javascript
javascript中的altKey 和 Event属性大全
2015/11/06 Javascript
jQuery获取cookie值及删除cookie用法实例
2016/04/15 Javascript
BootStrap的table表头固定tbody滚动的实例代码
2016/08/24 Javascript
js 点击a标签 获取a的自定义属性方法
2016/11/21 Javascript
vue-resource 拦截器(interceptor)的使用详解
2017/07/04 Javascript
vue 路由页面之间实现用手指进行滑动的方法
2018/02/23 Javascript
vue中使用gojs/jointjs的示例代码
2018/08/24 Javascript
[01:05:29]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Aster BO3 第二场 1月24日
2021/03/11 DOTA
python基础教程之popen函数操作其它程序的输入和输出示例
2014/02/10 Python
python如何使用正则表达式的前向、后向搜索及前向搜索否定模式详解
2017/11/08 Python
利用Django-environ如何区分不同环境
2018/08/26 Python
对python周期性定时器的示例详解
2019/02/19 Python
pyqt弹出新对话框,以及关闭对话框获取数据的实例
2019/06/18 Python
keras 读取多标签图像数据方式
2020/06/12 Python
html5视频常用API接口的实战示例
2020/03/20 HTML / CSS
肯尼亚网上商城:Kilimall
2016/08/20 全球购物
思想专业自荐信范文
2013/12/25 职场文书
疾病捐款倡议书
2014/05/13 职场文书
工人先进事迹材料
2014/12/26 职场文书
公司食堂管理制度
2015/08/05 职场文书
2015年社区消防安全工作总结
2015/10/14 职场文书
Java工作中实用的代码优化技巧分享
2022/04/21 Java/Android
超越Nginx的Web服务器caddy优雅用法
2022/06/21 Servers