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 05 Python
Django1.7+python 2.78+pycharm配置mysql数据库教程
Nov 18 Python
python django 访问静态文件出现404或500错误
Jan 20 Python
python中文件变化监控示例(watchdog)
Oct 16 Python
解决python写入mysql中datetime类型遇到的问题
Jun 21 Python
python爬虫爬取监控教务系统的思路详解
Jan 08 Python
Tensorflow分批量读取数据教程
Feb 07 Python
利用python控制Autocad:pyautocad方式
Jun 01 Python
python中最小二乘法详细讲解
Feb 19 Python
教你漂亮打印Pandas DataFrames和Series
May 29 Python
Python pandas读取CSV文件的注意事项(适合新手)
Jun 20 Python
Python使用PyYAML库读写yaml文件的方法
Apr 06 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
世界收音机发展史
2021/03/01 无线电
smarty实例教程
2006/11/19 PHP
深入PHP FTP类的详解
2013/06/13 PHP
thinkphp 一个页面使用2次分页的实现方法
2013/07/15 PHP
PHP 微信支付类 demo
2015/11/30 PHP
php解析mht文件转换成html的实例
2017/03/13 PHP
PHP实现的DES加密解密类定义与用法示例
2020/11/02 PHP
javaScript同意等待代码实现心得
2011/01/01 Javascript
简介JavaScript中toUpperCase()方法的使用
2015/06/06 Javascript
iframe中子父类窗口调用JS的方法及注意事项
2015/08/25 Javascript
谈谈jQuery Ajax用法详解
2015/11/27 Javascript
layer弹出层中H5播放器全屏出错的解决方法
2017/02/21 Javascript
jquery插件开发之选项卡制作详解
2017/08/30 jQuery
javascript+html5+css3自定义弹出窗口效果
2017/10/26 Javascript
通过函数作用域和块级作用域看javascript的作用域链
2018/08/05 Javascript
JS中创建自定义类型的常用模式总结【工厂模式,构造函数模式,原型模式,动态原型模式等】
2019/01/19 Javascript
微信小程序云开发之使用云函数
2019/05/17 Javascript
vue中监听返回键问题
2019/08/28 Javascript
原生javascript单例模式的应用实例分析
2020/02/23 Javascript
如何在VUE中使用vue-awesome-swiper
2021/01/04 Vue.js
[01:45]DOTA2众星出演!DSPL刀塔次级职业联赛宣传片
2014/11/21 DOTA
Python格式化css文件的方法
2015/03/10 Python
在Python中操作字典之setdefault()方法的使用
2015/05/21 Python
Python2.7读取PDF文件的方法示例
2017/07/13 Python
python实现简单遗传算法
2018/03/19 Python
python批量修改文件编码格式的方法
2018/05/31 Python
python实现验证码识别功能
2018/06/07 Python
用python解压分析jar包实例
2020/01/16 Python
通过实例解析python subprocess模块原理及用法
2020/10/10 Python
css和css3弹性盒模型实现元素宽度(高度)自适应
2019/05/15 HTML / CSS
Nicole Miller官方网站:纽约女装品牌
2019/09/14 全球购物
MIS软件工程师的面试题
2016/04/22 面试题
会计电算化专业毕业生推荐信
2013/12/24 职场文书
领导班子整改方案
2014/10/25 职场文书
《正面管教》读后有感:和善而坚定的旅程
2019/12/19 职场文书
Python pandas求方差和标准差的方法实例
2021/08/04 Python