网络编程
位置:首页>> 网络编程>> Python编程>> Python编程快速上手——疯狂填词程序实现方法分析

Python编程快速上手——疯狂填词程序实现方法分析

作者:授我以驴  发布时间:2023-07-25 08:57:17 

标签:Python,疯狂填词程序

本文实例讲述了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程序设计有所帮助。

来源:https://blog.csdn.net/one_Salted_FishGG/article/details/89375054

0
投稿

猜你喜欢

  • zhanglunray 问:我在mzzx_pic这个层设置了左边距,在ie里显示是正常的,但是在ff里显示时margin-left却没有起到
  • 最近要做数据库同步,如果网上找了例子,成功,记录下来,下回再看。这个是网上找的一编文章。以下配置在本机上已经成功:实现功能:A为主服务器,B
  • 用css属性选择器可以有选择性地对链接样式进行控制,如让所有的外部链接都加一个小图标来标识其是一外部链接。但用css有弊端: 1、只支持Fi
  • 本文通过实际业务系统中调整的一个案例,试图给出一个常见CPU消耗问题的一个诊断方法.大多数情况下,系统的性能问题都是由不良SQL代码引起的,
  • 1.由于数据库设计问题造成SQL数据库新增数据时超时症状:Microsoft OLE DB Provider for SQL Server
  • 这方面我还是一个freshman,不过看了一些文章,经过一些实践后也算是有了一些想法。希望如果有这方面的前辈路过的话,能不吝指教。首先,作为
  • 各大著名厂家、公司的banner广告设计欣赏,尺寸468x60,gif格式!有acer,阿尔卡特,AMD,中国电信,爱立信,Greatwal
  • Mysql分页采用limt关键字select * from t_order limit 5,10; #返回第6-15行数据select *
  • 在 Internet 连接无处不在的今天,我们忽然有了另外一个需求,离线 Web。Gmail, Google Reader, Zoho 这些
  • 一个XML文档如果符合一些基本的规范,那它就是结构规范的。XML格式有一套比HTML简单的解析规则,允许XML解析器不需要外部描述或了解数据
  • 与Channel区别Channel能够很好的帮助我们控制并发,但是在开发习惯上与显示的表达不太相同,所以在Go语言中可以利用sync包中的W
  • 高效的css写法中的一条就是使用简写。通过简写可以让你的CSS文件更小,更易读。而了解CSS属性简写也是前端开发工程师的基本功之一。今天我们
  • 需要在两个文件中实现:首先,在talker.asp(在线名单)中做如下处理:<%p1=trim(application("v
  • 如何使用Iframe实现本页提交?例:chunfeng.html< html>< head>&n
  • 作者的blog:http://www.planabc.netz-index属性简介引用:z-index : auto | numberaut
  • 前面也讲过一次phar文件上传的东西,但是那都是过滤比较低,仅仅过滤了后缀。知道今天看到了一篇好的文章如果过滤了phar这个伪造协议的话,那
  • input高级限制级用法1.取消按钮按下时的虚线框 在input里添加属性值 hideFocus 或者 HideFocus=true2.只读
  • 一直希望自己对Web设计的色彩把握的更好些,所以手头上就备了一份图片版的配色表,对色彩的搭配有了很多的提高,今天发现了这套非常完整的Web版
  • 首先说明,伪造访问来路不是什么光明正大的事情,目的就是为了欺骗服务器。原本以为给 XMLHTTP 对象增加一个 Referer 的heade
  • 看起来现在经常用到这样的效果来提高用户体验,所以就没事写了一个输入框提示列表的效果使用宽屏的朋友麻烦帮忙测试下,列表的位置有没有错位。代码可
手机版 网络编程 asp之家 www.aspxhome.com