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 import自定义模块方法
Feb 12 Python
python使用urllib2提交http post请求的方法
May 26 Python
python下paramiko模块实现ssh连接登录Linux服务器
Jun 03 Python
Python中list列表的一些进阶使用方法介绍
Aug 15 Python
Python3之简单搭建自带服务器的实例讲解
Jun 04 Python
python pygame实现方向键控制小球
May 17 Python
实例详解Python装饰器与闭包
Jul 29 Python
使用Python实现正态分布、正态分布采样
Nov 20 Python
Python3 A*寻路算法实现方式
Dec 24 Python
tensorflow 获取所有variable或tensor的name示例
Jan 04 Python
Python 剪绳子的多种思路实现(动态规划和贪心)
Feb 24 Python
python 求两个向量的顺时针夹角操作
Mar 04 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中在数据库中保存Checkbox数据(2)
2006/10/09 PHP
mysql建立外键
2006/11/25 PHP
php数组函数序列之array_unique() - 去除数组中重复的元素值
2011/10/29 PHP
php操纵mysqli数据库的实现方法
2016/09/18 PHP
php + nginx项目中的权限详解
2017/05/23 PHP
swoole和websocket简单聊天室开发
2017/11/18 PHP
JavaScript Event学习第六章 事件的访问
2010/02/07 Javascript
node.js中的path.join方法使用说明
2014/12/08 Javascript
使用堆实现Top K算法(JS实现)
2015/12/25 Javascript
Javascript的表单验证-提交表单
2016/03/18 Javascript
javascirpt实现2个iframe之间传值的方法
2016/06/30 Javascript
深入浅析javascript中的作用域(推荐)
2016/07/19 Javascript
jQuery双向列表选择器DIV模拟版
2016/11/01 Javascript
微信小程序实现实时圆形进度条的方法示例
2017/02/24 Javascript
微信小程序 五星评分的实现实例
2017/08/04 Javascript
React Native react-navigation 导航使用详解
2017/12/01 Javascript
深入理解Vue nextTick 机制
2018/04/28 Javascript
vue远程加载sfc组件思路详解
2019/12/25 Javascript
JS运算符简单用法示例
2020/01/19 Javascript
python映射列表实例分析
2015/01/26 Python
python调用matlab的m自定义函数方法
2019/02/18 Python
Python获取时间戳代码实例
2019/09/24 Python
浅谈TensorFlow中读取图像数据的三种方式
2020/06/30 Python
解决python3中os.popen()出错的问题
2020/11/19 Python
什么是Oracle的后台进程background processes?都有哪些后台进程?
2012/04/26 面试题
长青弘远的面试题
2012/06/09 面试题
师范生实习自我鉴定
2013/11/01 职场文书
医学院毕业生自荐信范文
2014/03/06 职场文书
大学生两会学习心得体会
2014/03/10 职场文书
房产买卖委托公证书
2014/04/04 职场文书
学生考试舞弊检讨书
2015/01/01 职场文书
2016年社区服务活动总结
2016/04/06 职场文书
python实现腾讯滑块验证码识别
2021/04/27 Python
简单总结SpringMVC拦截器的使用方法
2021/06/28 Java/Android
《艾尔登法环》发布最新「战技」宣传片
2022/04/03 其他游戏
Python各协议下socket黏包问题原理
2022/04/12 Python