题目:

《Python编程快速上手——让繁琐工作自动化》 P156:
创建一个疯狂填词(Mad Libs)程序,它将读入文本文件,并让用户在该文本文件中出现 ADJECTIVE、NOUN、ADVERB 或 VERB 等单词的地方,加上他们自己的文本。


代码:

#! python3
# -*- coding: utf-8 -*-
# mad_libs.py - Fill in the words that entered by user at specified locations.import rewith open('original_text.txt') as file_object:contents = file_object.read()
key_words_regex = re.compile(r'ADJECTIVE|NOUN|ADVERB|VERB')
# 替换对象消失前,进行循环替换,每次替换一个单词
while key_words_regex.search(contents):# 将查找目标设置为剩余替换对象的第一个key_word = key_words_regex.search(contents)# 根据查找目标首字母确定提示词if key_word.group()[0].lower() in 'aeiou':sub_word = input('Enter an ' + key_word.group() + ': ')else:sub_word = input('Enter a ' + key_word.group() + ': ')# 将查找目标替换为用户输入文本,仅替换找到的第一个目标key_word_regex = re.compile(key_word.group())contents = key_word_regex.sub(sub_word, contents, 1)print('\n' + contents)
final_text = open('final_text.txt', 'w')
final_text.write(contents)
final_text.close()

运行结果:

Enter an ADJECTIVE: silly
Enter a NOUN: chandelier
Enter a VERB: screamed
Enter a NOUN: picked truckThe silly panda walked to the chandelier and then screamed. A nearby picked truck was
unaffected by these events

Python 练习005 ——疯狂填词程序相关推荐

  1. python完成“疯狂填词”程序。

    看了些大家写的程序,感觉不是特别完美,自己尝试修改了一下. 我的代码如下: import re filename = 'mode_file.txt' nwqfilename = 'replaced_f ...

  2. 《Python编程快速上手》实践项目:疯狂填词

    一.项目要求: 创建一个疯狂填词(Mad Libs)程序,它将读入文本文件, 并让用户在该文本文件中出现 ADJECTIVE. NOUN. ADVERB 或 VERB 等单词的地方, 加上他们自己的文 ...

  3. Python编程快速上手--8.9.1 扩展多重剪贴板、 8.9.2 疯狂填词、8.9.3 正则表达式查找

    8.9.1 扩展多重剪贴板 扩展本章中的多重剪贴板程序,增加一个delete 命令行参数,它将从shelf 中删除一个关键字.然后添加一个delete 命令行参数,它将删除所有关键字. #! pyth ...

  4. pyinstaller打包生成的exe文件并使用python终止后台的exe程序运行

    pyinstaller打包生成的exe文件并使用python终止后台的exe程序运行 目录 pyinstaller打包生成的exe文件并使用python终止后台的exe程序运行 #pyinstalle ...

  5. 56岁潘石屹下定决心学Python,60多岁程序语言之父们还在敲代码,你还敢懈怠吗?...

    十三 发自 凹非寺 量子位 报道 | 公众号 QbitAI 比你成功的人,比你还努力. 上周,SOHO中国董事长.地产大亨潘石屹,56岁生日当天发布微博宣布进军编程语言Python. 紧接着第二天,又 ...

  6. python做好的程序如何变成小程序-使用python编写简单的小程序编译成exe跑在win10上...

    每天的工作其实很无聊,早知道应该去IT公司闯荡的.最近的工作内容是每逢一个整点,从早7点到晚11点,去查一次客流数据,整理到表格中,上交给素未蒙面的上线,由他呈交领导查阅. 人的精力毕竟是有限的,所以 ...

  7. mapreduce编程实例python-使用Python语言写Hadoop MapReduce程序

    原标题:使用Python语言写Hadoop MapReduce程序 Python部落(python.freelycode.com)组织翻译,禁止转载,欢迎转发. 在本教程中,我将描述如何使用Pytho ...

  8. python编程在哪里写程序-教你如何编写、保存与运行Python程序的方法

    第一步 接下来我们将看见如何在 Python 中运行一个传统的"Hello World"程序.Python教程本章将会教你如何编写.保存与运行 Python 程序. 通过 Pyth ...

  9. python打开是什么颜色-python实现简单颜色识别程序

    本文实例为大家分享了python实现简单颜色识别程序的具体代码,供大家参考,具体内容如下 import numpy as np import cv2 font= cv2.FONT_HERSHEY_SI ...

  10. python语言入门p-python语言程序设计基础(第2版)课后答案嵩天

    嵩天等程序设计基础(Python语言)习题答案?本书系统地介绍了Python程序设计语言和程序设计的基本方法.从Python语言发展历史.配置环境开始,详细介绍了Python语言的各种数据类型.程序编 ...

最新文章

  1. 台湾前十大科技公司拼不过三星(往后一点三星都不要买啦!)
  2. axure9 邮件点击效果_总是收到无关的工作邮件?这个有意思的工具可以帮你消灭它们...
  3. git查看相对于最新的push改动内容
  4. ManagedObject this[oPropertyInfo._sMutator](oValue);
  5. wpfdiagram 学习 教学_李倩、吴欣歆:新高考背景下高中语文教学的三个转变
  6. 如何通过VC的 CHttpFile 抓取网页内容
  7. Kafka集群安装--测试--关闭
  8. 分割字符串s使得每个子串都是回文串
  9. spine纹理解包 黑底_“包治百病”是真理,这些小众包真的很治愈系
  10. 书籍推荐:Machine Learning Yearning
  11. 烟台市与拼多多达成战略合作 启动烟台优品线上云购节活动
  12. Spring注入方式及用到的注解 -----@Component,@Service,@Controller,@Repository
  13. python 输出颜色的设置
  14. Java GUI+MySQL 银行管理系统初级(课程设计)
  15. ai跟随路径_ai中图像怎么沿着路径走
  16. mysql入侵服务器_记通过mysql数据库成功入侵到服务器内部的渗透实战
  17. 第三方平台代微信公众号开发
  18. 计算机网络运动会入场词,运动会入场词
  19. 廖雪峰的0Python教程
  20. 淘系页面详情API调用展示

热门文章

  1. python串口收发
  2. vue 身份证格式校验
  3. seo人员必须知道的基础知识
  4. ASP.NET AES加密
  5. 济南市“十四五”数字泉城规划 附下载
  6. G_分包具体详情及处理
  7. 倍福ADS通讯(二)——TwinCat ADS通讯方式
  8. 浙江旅行新地标!图卷9号与法国著名建筑大师安东尼·贝叙共同打造
  9. android 6 root权限,安卓一键root(权限获取)
  10. osg qt 三维模型加载