【Python】基础练习题_组合数据类型_2

  1. dictMenu =f’卡布奇洛’:32,‘摩卡’:30,‘抹茶蛋糕’:28,‘布朗尼’:26}, dictMenu 中存放了你的双人下午套餐(包括咖啡2份和点心2份)的价格,请编写程序,让Python帮忙计算并输出消费总额。

    dictMenu = {'卡布奇洛': 32, '摩卡': 30, '抹茶蛋糕': 28, '布朗尼': 26}total = 0
    for price in dictMenu.values():total += priceprint(f"消费总额为:{total}元")
    
  2. 用字典数据类型编写会简单一问一答聊天的可学习机器人程序。(a)自己构建初始对话字典(对话字典自己创建),例如:memory = {你在干嘛:在呼吸和想你,你喜欢哪一天:跟你聊天’,你在想什么:'我在想你 b)对机器人无法回答的问题,请提问者给出答案,并更新字典数据。c)使用空格标识聊天结束。

    def chat_bot():memory = {"你在干嘛": "在呼吸和想你", "你喜欢哪一天": "跟你聊天", "你在想什么": "我在想你"}while True:question = input("你:")if question in memory:print("机器人:" + memory[question])elif question == " ":print("机器人:再见!")breakelse:answer = input("机器人:对不起,我不知道该如何回答这个问题。请告诉我你的答案:")memory[question] = answerchat_bot()
  3. 根据文件"Who Moved My Cheese.txt”的内容,先进行英文词频统计,之后分别用词频为参数的方法和全文英文字符串为参数绘制两个英文词云。要求设置背景色为白色并显示和保存词云图"My Cheese freq.jpg"和“MyCheese text.jpg" 。支持第三方库: wordcloud库和matplotlib 库。提示:文件的读取和去除汉字字符的语句如下txt = open(file, ‘r,encoding=“utf-8”).read()english_only_txt =’'.join(x for x in txt if ord(x) < 256) 。

    # 先下载 wordcloud 库
    pip install wordcloud 
    
    from wordcloud import WordCloud
    import matplotlib.pyplot as plt# 读取文件内容并去除汉字字符
    file = "Who Moved My Cheese.txt"
    txt = open(file, 'r', encoding="utf-8").read()
    english_only_txt = ''.join(x for x in txt if ord(x) < 256)# 英文词频统计
    wordcloud = WordCloud(background_color="white").generate(english_only_txt)# 绘制词云图(词频为参数)
    plt.imshow(wordcloud, interpolation='bilinear')
    plt.axis("off")
    plt.savefig("MyCheese freq.jpg", dpi=300)
    plt.show()# 绘制词云图(全文英文字符串为参数)
    wordcloud = WordCloud(background_color="white").generate_from_text(english_only_txt)# 绘制词云图(全文英文字符串为参数)
    plt.imshow(wordcloud, interpolation='bilinear')
    plt.axis("off")
    plt.savefig("MyCheese text.jpg", dpi=300)
    plt.show()
    

    在这里插入图片描述在这里插入图片描述

  4. 请读入“沉默的羔羊.txt”内容,分词后输出长度大于2且最多的单词。如果存在多个单词出现频率一致,请输出按照Unicode排序后最大的单词。使用jieba库。(史达琳)

    # 先下载 jieba 库
    pip install jieba
    
    import jieba# 读取文件内容
    file = "沉默的羔羊.txt"
    txt = open(file, 'r', encoding="utf-8").read()# 分词
    seg_list = jieba.lcut(txt)# 统计满足条件的单词
    word_count = {}
    for word in seg_list:if len(word) > 2:word_count[word] = word_count.get(word, 0) + 1# 找到频率最大的单词列表
    max_frequency = max(word_count.values())
    max_words = []
    for word, frequency in word_count.items():if frequency == max_frequency:max_words.append(word)# 按照Unicode排序并输出最大的单词
    result = sorted(max_words)[-1]print("长度大于2且最多的单词:", result)
    

    在这里插入图片描述

  5. 请读入“三国演义.txt”内容,统计人物出场次数。要求:1 输出排序前 15 人物名称及出场次数。使用 jieba。2根据出场次数制作出场次数前15的人物名称的词云图。使用wordcloud 库。

    import jieba
    from wordcloud import WordCloud
    import matplotlib.pyplot as plt
    excludes = {"将军", "却说", "荆州", "二人", "不可", "不能", "如此", "商议", "如何","主公", "军士", "左右", "军马", "引兵", "次日", "大喜", "天下", "东吴","于是", "今日", "不敢", "魏兵", "陛下", "一人", "都督", "人马", "不知","汉中", "只见", "众将", "蜀兵", "上马", "大叫", "太守", "此人", "夫人","后人", "背后", "城中", "一面", "何不", "大军", "忽报", "先生", "百姓","何故", "然后", "先锋", "不如", "赶来", "原来", "令人", "江东", "下马","喊声", "正是", "徐州", "忽然", "因此", "成都", "不见", "未知", "大败","大事", "之后", "一军", "引军", "起兵", "军中", "接应", "进兵", "大惊", "可以"}
    txt = open("三国演义.txt", "r", encoding='utf-8').read()
    words = jieba.lcut(txt)
    counts = {}
    for word in words:if len(word) == 1:continueelif word == "诸葛亮" or word == "孔明曰":rword = "孔明"elif word == "关公" or word == "云长":rword = "关羽"elif word == "玄德" or word == "玄德曰" or word == "先主":rword = "刘备"elif word == "孟德" or word == "丞相":rword = "曹操"elif word == "后主":rword = "刘禅"elif word == "天子":rword = "刘协"else:rword = wordcounts[rword] = counts.get(rword, 0) + 1
    for word in excludes:del counts[word]
    items = list(counts.items())
    items.sort(key=lambda x: x[1], reverse=True)
    for i in range(20):word, count = items[i]print("{0:<10}{1:>5}".format(word, count))# 制作出场次数前15的人物名称的词云图
    wordcloud = WordCloud(font_path="simhei.ttf", background_color="white").generate_from_frequencies(dict(items))plt.figure(figsize=(8, 8))
    plt.imshow(wordcloud, interpolation="bilinear")
    plt.axis("off")
    plt.show()
    

    在这里插入图片描述
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/226327.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

配置zabbix-proxy主动式

IP地址对应关系如下&#xff1a; zabbix-server122.9.8.21zabbix-proxy122.9.4.102zabbix-agent2116.63.9.109 一、 安装zabbix-server https://blog.csdn.net/qq_50247813/article/details/132131774 二、 安装zabbix-proxy a. 安装zabbix源 rpm -Uvh https://repo.zabbix…

【VROC】看Intel VROC如何给NVMe SSD做RAID

在当今对硬盘性能要求越来越高的环境中&#xff0c;SATA和SAS接口由于自身的限制&#xff0c;其性能很难突破600MiB/s的瓶颈。因此&#xff0c;对于需要更高底层硬件性能的行业&#xff0c;如数据库等&#xff0c;对NVMe盘的需求越来越迫切。然而&#xff0c;NVMe盘直通到CPU&a…

Mysql8.1.0 安装问题-缺少visual studio 2019x64组件

缺少visual studio x64组件的问题 使用Mysql8以上的安装包mysql-8.1.0-winx64.msi进行安装&#xff0c; 提示缺少visual studio 2019 x64可再发行组件 在微软官网下载vc可再发行程序包 Microsoft Visual C 可再发行程序包最新支持的下载 在Visual Studio 2015、2017、2019 和…

【Java安全】Java反射机制-成员变量的赋值与取值

文章目录 前言利用反射机制获取类的成员变量利用反射机制获取类的成员方法总结前言 Java反射(Reflection)是Java非常重要的动态特性,通过使用反射我们不仅可以获取到任何类的成员方法(Methods)、成员变量(Fields)、构造方法(Constructors)等信息,还可以动态创建Java类实例、…

12 网关实战:Spring Cloud Gateway基础理论

为什么需要网关? 传统的单体架构中只有一个服务开放给客户端调用,但是微服务架构中是将一个系统拆分成多个微服务,那么作为客户端如何去调用这些微服务呢?如果没有网关的存在,只能在本地记录每个微服务的调用地址。 无网关的微服务架构往往存在以下问题: 客户端多次请求…

ERRO报错

无法下载nginx 如下解决&#xff1a; 查看是否有epel 源 安装epel源 安装第三方 yum -y install epel-release.noarch NGINX端口被占用 解决&#xff1a; 编译安装的NGINX配置文件在/usr/local/ngin/conf 修改端口

Vue组件的几种通信方式

这里写目录标题 Vue组件的几种通信&#xff08;数据传递&#xff09;方式非父子组件间通信&#xff08;Bus事件总线&#xff09;介绍实例 非父子通信-provide&inject1.作用2.场景3.语法4.注意 父子组件间的通信固定props属性名&#xff08;v-model&#xff09;介绍实例 不固…

「软件测试」最全面试问题和回答,全文背熟不拿下offer算我输

一般要应聘关于测试的工作&#xff0c;面试题会不会很难?下面小编整理了软件测试面试题及答案&#xff0c;欢迎参考! 一、引言 1.1 文档目的 本次文档是为了收集在面试中遇到的一问题与常见的一些答案并不是唯一答案 二、职业规划 2.1 简单的自我介绍下 面试官&#xff…

Leetcode211. 添加与搜索单词 - 数据结构设计

Every day a Leetcode 题目来源&#xff1a;211. 添加与搜索单词 - 数据结构设计 解法1&#xff1a;字典树 字典树&#xff08;前缀树&#xff09;是一种树形数据结构&#xff0c;用于高效地存储和检索字符串数据集中的键。前缀树可以用 O(∣S∣) 的时间复杂度完成如下操作…

文本三剑客之sed

sed和awk的区别&#xff1a; 1. awk主要处理的是列 sed处理的行 2. awk处理固定长度的列用比较好 不固定长度的列用sed好处理 一. sed语法&选项 1. 语法 ①基本语法&#xff0c;类似cat ② sed 选项 自身脚本语法 操作 tips&#xff1a;选项可以没有&#xff0c;但是…

chatgpt prompt提示词

ChatGPT 最近十分火爆&#xff0c;今天我也来让 ChatGPT 帮我阅读一下 Vue3 的源代码。 都知道 Vue3 组件有一个 setup函数。那么它内部做了什么呢&#xff0c;今天跟随 ChatGPT 来一探究竟。 实战 1.setup setup 函数在什么位置呢&#xff0c;我们不知道他的实现函数名称&…

Vue路由嵌套和携带参数的几种方法

1、路由嵌套 路由嵌套逻辑&#xff1a; router.index.js中使用children嵌套子路由 //该文件专门用于创建整个文件的路由器 import VueRouter from vue-routerimport About from "/pages/About"; import Home from "/pages/Home"; import News from "…