《python教程:利用python基础知识取出对应诗句》由【张国维博客】于2020年05月09日整理发布!

当今科技蓬勃发展的今天,我们学习一门编程语言是很有必要的。随着人工智能行业的兴起,python语言成为当今最热门的一门编程语言之一,同时,python也是所有编程语言中比较好掌握的一门语言,当然学习一门编程语言的基础知识是第一个门槛。

我张国维本人在这就给大家分享下我出的一道练习题,方便刚入门学习python语言的小白们建立自己一套写代码的逻辑思路,这道题主要围绕列表和字典的知识,方便大家以后对这块有更深入的理解。题目要求如下所示:

一:如下注释部分:

"""

温馨提醒:解题有以下5个步骤:

1.取出Verse里面对应的诗句,拼接成总诗句

2.定义total_list列表,找到name_list人名对应的类型,进行拼接处理,然后保存到total_list列表

3.定义total_dict字典,找到name_list人名对应的类型,进行赋值处理,然后保存到total_dict字典

4.定义Total_lists列表和Total_dicts字典,找到name_list人名对应的类型,进行赋值处理,然后保存到Total_dicts字典,字典的键为“Verse”,值为“Total_lists列表”

5.把结果得到的数据写入命名为write.txt的文本文档里

题目要求:取出对应诗句的句子,把取出来的句子做拼接处理,同时并按要求以7字诗的方式打印在终端上,和效果图展示一样。

并且“一定要”在打印完总诗句的基础上,再取出诗句中的人名,并对人名找到“人名对应的类型”进行拼接,然后保存到列表和字典里,

有需要格式化的必须要用格式化。最后,把得到结果的数据执行“一千遍”保存到txt文本文档中,命名为write.txt。要求能够在终端展示结果如下所示:

......

"""

二:要题题目:

# 利用字典、列表、元组组合的方式进行嵌套诗句

Verse = {"verse_dict": [[{"verse_dict2": [{"verse1": [{"verse_1": "莫娶美娇娘"}, {"verse_2": "无钱"}]}, ["verse_3", "有钱"],

{"verse2": ["verse_5", "钱多"], "verse_4": "娇娘"}, "某某练,"]}],

[{"verse_dict3": ["我在这里,调皮一下,诗句不关我的事,我是吃瓜群众,看热闹的!",

[{"verse_dict4": [{"verse_9": {"verse_6": "可人要人命",

"verse_7": ("也要", ("人帅", "也够呛"), "注意防")}}]}],

[{"verse4": ["西门庆,", {"verse_8": ["武大郎,", "某某钱,"]}]}]]}]],

"verse_dict1": ["我又出现了,来凑热闹的", {"verse_10": "不信你看"}]}

# 人名对应的类型

name_list = ["喜剧演员", "理刑千户", "武松的哥哥", "演员"]

三:在这里说明下,答案并没有标准答案,有多种实现方法,答案如下:

num = Verse["verse_dict1"][1]["verse_10"] # 获取“不信你看”

num_1 = Verse["verse_dict"][0][0]["verse_dict2"][0]["verse1"][1]["verse_2"] # 获取“无钱”

num_2 = Verse["verse_dict"][0][0]["verse_dict2"][0]["verse1"][0]["verse_1"] # 获取“莫娶美娇娘”

num_3 = Verse["verse_dict"][1][0]["verse_dict3"][2][0]["verse4"][1]["verse_8"][0].split(",")[0] # 获取“武大郎”

sentence_1 = num_1 + num_2 + "," + num + num_3 # 获取第一行诗句

num_4 = Verse["verse_dict"][0][0]["verse_dict2"][1][1] # 获取“有钱”

num_5 = Verse["verse_dict"][1][0]["verse_dict3"][1][0]["verse_dict4"][0]["verse_9"]["verse_7"][0] # 获取“也要”

num_6 = Verse["verse_dict"][1][0]["verse_dict3"][1][0]["verse_dict4"][0]["verse_9"]["verse_7"][2] # 获取“注意防”

num_7 = Verse["verse_dict"][1][0]["verse_dict3"][2][0]["verse4"][1]["verse_8"][1].split(",")[0] # 获取“某某钱”

sentence_2 = num_4 + num_5 + num_6 + "," + num + num_7 # 获取第二行诗句

num_8 = Verse["verse_dict"][0][0]["verse_dict2"][2]["verse2"][1] # 获取“钱多”

num_9 = Verse["verse_dict"][1][0]["verse_dict3"][1][0]["verse_dict4"][0]["verse_9"]["verse_7"][1][0] # 获取“人帅”

num_10 = Verse["verse_dict"][1][0]["verse_dict3"][1][0]["verse_dict4"][0]["verse_9"]["verse_7"][1][1] # 获取“也够呛”

num_11 = Verse["verse_dict"][0][0]["verse_dict2"][3].split(",")[0] # 获取“某某练”

sentence_3 = num_8 + num_9 + num_10 + "," + num + num_11 # 获取第三行诗句

num_12 = Verse["verse_dict"][0][0]["verse_dict2"][2]["verse_4"] # 获取“娇娘”

num_13 = Verse["verse_dict"][1][0]["verse_dict3"][1][0]["verse_dict4"][0]["verse_9"]["verse_6"] # "可人要人命”

num_14 = Verse["verse_dict"][1][0]["verse_dict3"][2][0]["verse4"][0].split(",")[0] # “西门庆”

sentence_4 = num_12 + num_13 + "," + num + num_14 # 获取第四行诗句

# 使用while循环执行一千遍

n = 0

while n < 1000:

n += 1

# 定义total_list保存对应的数据到列表

total_list = []

# 定义total_dict保存对应的数据到字典

total_dict = {}

# 定义Total_dicts保存Total_lists列表对应的数据作为字典的“值”

Total_dicts = {}

# 定义Total_lists保存对应的数据到列表,作为Total_dicts字典的值

Total_lists = []

# 定义total变量保存总诗句

total = ("{0}\n{1}\n{2}\n{3}".format(sentence_1, sentence_2, sentence_3, sentence_4)).splitlines()

# 遍历total

for i in total:

print(i) # 打印总诗句

# 定一个变量totals,来保存遍历total分割后的数据

totals = i.split(",")[1]

# 把totals分割后的数据添加到total_list列表中

total_list.append(totals)

# 把总诗句的数据写入文件

files = open(file="write.txt", mode="a", encoding="utf-8")

files.write("{0}\n".format(i)) # 写入数据并换行处理

files.close() # 关闭文件

# 遍历取数值范围

for y in range(len(total_list)):

if y == 0:

total_list[0] = total_list[y].split("看")[1] + ":" + name_list[2]

elif y == 1:

total_list[1] = total_list[y].split("看")[1] + ":" + name_list[0]

elif y == 2:

total_list[2] = total_list[y].split("看")[1] + ":" + name_list[3]

else:

total_list[3] = total_list[y].split("看")[1] + ":" + name_list[1]

# 以下三行代码是total_dict字典的操作

names = total_list[y].split(":")[0]

name_type = total_list[y].split(":")[1] # 定义name_type变量,保存人名对应的类型

total_dict[names] = name_type # 判断字典键值对,相同则成立

# 追加储存到Total_lists列表中,结果得到的是列表嵌套列表的数据

Total_lists.append(total_list[y].splitlines())

# 判断字典键值对,相同则成立

Total_dicts["Verse"] = Total_lists

# 最后以列表和两个字典形式打印“人名”对应的类型

print("{0}\n{1}\n{2}".format(total_list, total_dict, Total_dicts))

# 把存储人名对应类型为列表形式\字典形式的数据写入文件

file = open(file="write.txt", mode="a", encoding="utf-8")

file.write("{0}\n{1}\n{2}\n".format(total_list, total_dict, Total_dicts)) # 写入数据并把列表和两个字典转为字符串类型存入wirte.txt文本文档中

file.close() # 关闭文件

最终保存到write.txt文本文档的结果效果图如下所示:

好了,如果有不懂的可以一起交流探讨,本人愿意和大家分享经验,如若您愿意,可以加我QQ联系我,加QQ时候麻烦备注下,“学习交流python”,共同学习,共同进步!

No related posts.

喜欢 (3)or分享 (0)

python打印古诗_python打印古诗_python教程:利用python基础知识取出对应诗句相关推荐

  1. 全国计算机等级考试二级教程——公共基础知识(2013年版)pdf,全国计算机等级考试2级教程:公共基础知识(2013年版)...

    <全国计算机等级考试2级教程:公共基础知识(2013年版)>是根据教育部考试中心颁布的<全国计算机等级考试二级公共基础知识考试大纲<2913年版)>的要求,在2012年版 ...

  2. excel宏计算机,excel宏教程_电脑基础知识_IT计算机_专业资料.doc

    excel宏教程_电脑基础知识_IT计算机_专业资料 Excel宏教程 一.?? 选中单个单元格 Range("").Select ? 例:Range("C9" ...

  3. php插入js教程,JavaScript_JavaScript入门教程(2) JS基础知识,在什么地方插入 JavaScript  Ja - phpStudy...

    JavaScript入门教程(2) JS基础知识 在什么地方插入 JavaScript JavaScript 可以出现在 HTML 的任意地方.使用标记,你可以在 HTML 文档的任意地方插入 Jav ...

  4. 计算机基础outlook知识,outlook配置教程_电脑基础知识_IT计算机_专业资料

    outlook配置教程_电脑基础知识_IT计算机_专业资料 (5页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.9 积分 Outlook配置教程直接点 ...

  5. python编程基础知识点上的问题_python编程入门之二:必备基础知识

    大家在上一章中已经可以自己敲出一个猜数字小游戏了,先不要删掉它,以后我们慢慢来改进它.接下来呢,我们再继续学习一些必须要学的基础知识. 2.1 变量 说到变量,就是可以改变的量,它并不是一个值,而是内 ...

  6. python计算wav的语谱图_Python实现电脑录音(含音频基础知识讲解)

    前言 今天开始进入近期系列文章的第一篇,如何用 Python 来实现录音功能. 在开始"造轮子"之前,个人一直强调一个观点,如果有些东西已经有了,不妨直接去 github 上搜,用 ...

  7. python实现录音并去燥_Python实现电脑录音(含音频基础知识讲解)

    Python实现电脑录音(含音频基础知识讲解) 前言 今天开始进入近期系列文章的第一篇,如何用 Python 来实现录音功能. 在开始"造轮子"之前,个人一直强调一个观点,如果有些 ...

  8. python网络编程知识_python六十七课——网络编程(基础知识了解)

    网络编程: 什么是网络编程? 网络:它是一种隐形的媒介:可以将多台计算机使用(将它们连接到一起) 网络编程:将多台计算机之间可以相互通信了(做数据交互) 一旦涉及到网络编程,划分为两个方向存在,一方我 ...

  9. python人像录制加声音_Python实现电脑录音(含音频基础知识讲解)

    Python实现电脑录音(含音频基础知识讲解) 前言 今天开始进入近期系列文章的第一篇,如何用 Python 来实现录音功能. 在开始"造轮子"之前,个人一直强调一个观点,如果有些 ...

最新文章

  1. 关于SQL语言的初步认识
  2. Apache+tomcat+mysql安装步骤
  3. 【pmcaff】搞清楚产品经理的6大问题,街边卖煎饼也能火
  4. 深度学习(二十六)——VAE
  5. 设计模式笔记零:设计模式简介
  6. Latex排列图片:自由定义N行M列的排列方式
  7. python实现的摩斯电码解码\编码器
  8. 区块链app源码_区块链app商城系统开发适用于哪些企业
  9. 龙飞船再次发射成功!马斯克无缘现场,因疑似感染新冠……
  10. 3D视频的质量评价报告 (MSU出品)
  11. OpenRefine使用教程
  12. SpringBoot整合Sharding-JDBC实现水平分库分表
  13. jeeplus框架简介
  14. html 表格设置图片背景透明,table标签怎么实现内容不透明,背景图片透明
  15. H264/AVC-基本概念和码流结构
  16. 关于小米笔记本Pro内部风扇异响问题解决方法
  17. Windows键和Delete键不能用解决方法
  18. Linux系统开机无限重启的解决办法
  19. shell脚本之AWK-AWK的详细介绍
  20. 利用opencv-python对绿色植物的颜色进行提取

热门文章

  1. 网络对抗 Exp7 网络欺诈防范 20154311 王卓然
  2. 设计分享 | 基于51单片机实现红外控制系统控制电机调速
  3. R报错:caret包与InformationValue包在绘制confusionmatrix时遇到的问题
  4. 读《学会提问——批判性思维指南》
  5. python杨辉三角居中_利用python打印杨辉三角
  6. 软件技术基础(一):绪论
  7. 银行数据仓库体系实践(20)--浅谈银行数据仓库发展趋势
  8. python中文注释与单行注释_Python单行注释方法
  9. ORA-01547、ORA-01194、ORA-01110
  10. 我们吵的百分之九十的架都是同一个原因