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如何通过subprocess调用adb命令详解
Aug 27 Python
python图书管理系统
Apr 05 Python
VSCode下配置python调试运行环境的方法
Apr 06 Python
Python读取txt文件数据的方法(用于接口自动化参数化数据)
Jun 27 Python
Python连接Mssql基础教程之Python库pymssql
Sep 16 Python
使用50行Python代码从零开始实现一个AI平衡小游戏
Nov 21 Python
python opencv实现图像边缘检测
Apr 29 Python
Python-copy()与deepcopy()区别详解
Jul 12 Python
详解使用django-mama-cas快速搭建CAS服务的实现
Oct 30 Python
Django 简单实现分页与搜索功能的示例代码
Nov 07 Python
如何通过Django使用本地css/js文件
Jan 20 Python
Django实现列表页商品数据返回教程
Apr 03 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字符串截取中文截取2,单字节截取模式
2007/12/10 PHP
让php处理图片变得简单 基于gb库的图片处理类附实例代码下载
2011/05/17 PHP
php解决抢购秒杀抽奖等大流量并发入库导致的库存负数的问题
2014/06/19 PHP
PHP中CheckBox多选框上传失败的代码写法
2017/02/13 PHP
PHP去除空数组且数组键名重置的讲解
2019/02/28 PHP
jqPlot jquery的页面图表绘制工具
2009/07/25 Javascript
html组件不可输入(只读)同时任何组件都有效
2013/04/01 Javascript
简单的邮箱登陆的提示效果类似于yahoo邮箱
2014/02/26 Javascript
js实现文本框支持加减运算的方法
2015/08/19 Javascript
基于JS实现新闻列表无缝向上滚动实例代码
2016/01/22 Javascript
JS未跨域操作iframe里的DOM
2016/06/01 Javascript
JavaScript必看小技巧(必看)
2016/06/07 Javascript
jquery实现垂直和水平菜单导航栏
2020/08/27 Javascript
AngularJS 单元测试(一)详解
2016/09/21 Javascript
Angular自定义组件实现数据双向数据绑定的实例
2017/12/11 Javascript
vue二级路由设置方法
2018/02/09 Javascript
VUE 配置vue-devtools调试工具及安装方法
2018/09/30 Javascript
手挽手带你学React之React-router4.x的使用
2019/02/14 Javascript
Vue.js中该如何自己维护路由跳转记录
2019/05/19 Javascript
JS实现放烟花效果
2020/03/10 Javascript
[45:52]2018DOTA2亚洲邀请赛 4.1小组赛 A组加赛 LGD vs Liquid
2018/04/02 DOTA
[46:59]完美世界DOTA2联赛PWL S2 GXR vs Ink 第二场 11.19
2020/11/20 DOTA
11个并不被常用但对开发非常有帮助的Python库
2015/03/31 Python
python实现web方式logview的方法
2015/08/10 Python
Python3读取Excel数据存入MySQL的方法
2018/05/04 Python
基于Python实现定时自动给微信好友发送天气预报
2018/10/25 Python
Django实现微信小程序的登录验证功能并维护登录态
2019/07/04 Python
python 中值滤波,椒盐去噪,图片增强实例
2019/12/18 Python
python GUI库图形界面开发之PyQt5动态加载QSS样式文件
2020/02/25 Python
P D PAOLA法国官网:西班牙著名的珠宝首饰品牌
2020/02/15 全球购物
国际金融专业大学生职业生涯规划书
2013/12/28 职场文书
问卷调查计划书
2014/01/10 职场文书
生物学学生自我评价
2014/01/17 职场文书
文员求职信
2014/07/15 职场文书
2015年学校教育教学工作总结
2015/04/22 职场文书
2015秋季开学典礼致辞
2015/07/16 职场文书