当今科技蓬勃发展的今天,我们学习一门编程语言是很有必要的。随着人工智能行业的兴起,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”,共同学习,共同进步!
2条评论
发表评论
要发表评论,您必须先登录。
张国维seo博客是一个免费为大家提供网络营销教程、seo教程、网络安全、新媒体营销、微信营销、seo工具、互联网资讯网站!
维维一笑网 Copyright ©2015-2024 All Rights Reserved 粤ICP备20063688号
学习了
博客