【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 += price
    
    print(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("机器人:再见!")
                break
            else:
                answer = input("机器人:对不起,我不知道该如何回答这个问题。请告诉我你的答案:")
                memory[question] = answer
    
    chat_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:
            continue
        elif 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 = word
        counts[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()
    

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

leetcode 287. 寻找重复数

2023.11.29 本题比较朴素得一个思路是利用map集合的key存储nums中的值&#xff0c;value存储对应值出现的次数&#xff0c;然后再遍历这个map集合的value&#xff0c;如果这个value大于1&#xff0c;说明对应的key出现的次数超过了1次&#xff0c;并且题目说这个key唯一&#x…

[个人笔记] vCenter6.7使用自建SSL证书

SSL - 运维篇 第三章 vCenter6.7使用自建SSL证书 SSL - 运维篇系列文章回顾vCenter6.7使用自建SSL证书vCenter 6.7 上传文件到ShellvCenter 6.7 Shell 替换SSL证书全流程测试&验证 参考链接 系列文章回顾 第二章 FortiGate防火墙使用自建SSL证书 vCenter6.7使用自建SSL证书…

LeetCode(41)单词规律【哈希表】【简单】

目录 1.题目2.答案3.提交结果截图 链接&#xff1a; 单词规律 1.题目 给定一种规律 pattern 和一个字符串 s &#xff0c;判断 s 是否遵循相同的规律。 这里的 遵循 指完全匹配&#xff0c;例如&#xff0c; pattern 里的每个字母和字符串 s 中的每个非空单词之间存在着双向连…

PPP/INS紧组合代码学习

前言&#xff1a; 本文是基于IGNAV的PPP/INS紧组合学习&#xff0c;在此之前需要具备GNSS/INS松组合知识&#xff0c;武汉大学的i2nav实验室的KF-GINS项目可以作为学习模板。可以参考这篇优秀博文&#xff0c;链接&#xff1a;KF-GINS源码阅读_李郑骁学导航的博客-CSDN博客 IG…

使用功率MOSFET常见的一些问题(一)

使用功率MOSFET常见的一些问题&#xff08;一&#xff09; 1.MOS管简介2.反向阻断特性2.1 雪崩失效机制2.2 雪崩测试2.3 如何避免雪崩事件 3.MOS管额定电流和散热 刚开始用功率MOS管的时候经常会遇到炸管子的事情&#xff0c;过来人都说不炸几个管子就永远不会用MOS管&#xff…

Python向Excel写入内容的方法大全

在数据处理和分析中&#xff0c;将Python中的数据写入Excel是一项常见任务。 本文将介绍几种常见的方法&#xff0c;以及如何使用它们向Excel中写入内容。 方法一&#xff1a;使用openpyxl库 openpyxl是一个功能强大的库&#xff0c;用于读写Excel文件。以下是一个简单的使用…

DHCP协议讲解(含DHCP状态机)

加个目录 一、概述 大家都知道&#xff0c;为了使用TCP/IP协议族&#xff0c;每台主机和路由器需要一定的配置信息。 下面是一个简单的例子&#xff1a; 某学校的教学办公区域将要布置数百台计算机&#xff0c;每台都需要分配IP&#xff0c;如何实现对这些数量巨大的主机进…

【Java】泛型的简单使用

文章目录 一、包装类1.基本数据类型和对应的包装类2.自动装箱和自动拆箱3.手动装箱和手动拆箱 二、什么是泛型三、泛型的使用四、裸类型&#xff08;Raw Type&#xff09;五、泛型是如何编译的六、泛型的上界七、泛型方法总结 一、包装类 在了解泛型之前我们先了解什么是包装类…

IMU传感器用于智能假肢

截肢会给截肢者们带来生活上的不方便和极大痛苦&#xff0c;因此假肢的优化一直被关注着。近期&#xff0c;一项关于新型智能膝关节的研究&#xff0c;让假肢能更好地模拟自然膝关节&#xff0c;给截肢者们带来了希望。 此款假肢内置IMU传感器&#xff0c;减少了截肢者所需的肌…

Golang开发之------ Beego框架

1.安装go&#xff08;配置环境变量&#xff09; 2.安装gorm&#xff08;Goland编辑器举例&#xff09;&#xff1a; go env -w GO111MODULEon go env -w GOPROXYhttps://goproxy.cn,direct 3.初始化项目&#xff08;首先需要在工作目录新建bin文件夹&#xff0c;pkg文件…

分油问题C++求解

原题 3个油桶&#xff0c;容量分别为&#xff08;大桶&#xff09;20&#xff0c;&#xff08;中桶&#xff09;9&#xff0c;&#xff08;小桶&#xff09;7&#xff0c;初始时大桶满油&#xff0c;如何操作可以分出17的油&#xff1f; 代码 #include<iostream> #inc…

【复盘】接口自动化测试框架建设的经验与教训!

为什么选择这个话题&#xff1f; 一是发现很多“点工”在转型迷茫期都会问一些自动化测试相关的问题&#xff0c;可以说自动化测试是“点工”升级的必经之路&#xff1b;二是Google一下接口自动化测试&#xff0c;你会发现很多自动化测试框架相关的文章&#xff0c;但是大部分…

自动化测试框架搭建步骤教程

说起自动化测试&#xff0c;我想大家都会有个疑问&#xff0c;要不要做自动化测试&#xff1f; 自动化测试给我们带来的收益是否会超出在建设时所投入的成本&#xff0c;这个嘛别说是我&#xff0c;即便是高手也很难回答&#xff0c;自动化测试的初衷是美好的&#xff0c;而测试…

golang channel执行原理与代码分析

使用的go版本为 go1.21.2 首先我们写一个简单的chan调度代码 package mainimport "fmt"func main() {ch : make(chan struct{})go func() {ch <- struct{}{}ch <- struct{}{}}()fmt.Println("xiaochuan", <-ch)data, ok : <-chfmt.Println(&…

Xiamen I Fitness Platform

厦门I健身平台程 https://ijs.sports.xm.gov.cn/mgh5/#/ 1&#xff09;公众号 2&#xff09;主页 3&#xff09;【个人中心】【我的保险】就是要买一份保险&#xff0c;10元的那种&#xff0c;不然去场地出意外咋办 4&#xff09;我的保险状态&#xff1a;未购买&#xff0c;…

VR虚拟教育展厅,为教学领域开启创新之路

线上虚拟展厅是一项全新的展示技术&#xff0c;可以为参展者带来不一样的观展体验。传统的实体展览存在着空间限制、时间限制以及高昂的成本&#xff0c;因此对于教育领域来说&#xff0c;线上虚拟教育展厅的出现&#xff0c;可以对传统教育方式带来改革&#xff0c;凭借强大的…

【Qt之QSqlRelationalDelegate】描述及使用

描述 QSqlRelationalDelegate类提供了一个委托&#xff0c;用于显示和编辑来自QSqlRelationalTableModel的数据。 与默认委托不同&#xff0c;QSqlRelationalDelegate为作为其他表的外键的字段提供了一个组合框。 要使用该类&#xff0c;只需在带有QSqlRelationalDelegate实例…

easyrecovery如何恢复手机数据及硬盘数据恢复方法

EasyRecovery16是一款优秀的数据恢复软件&#xff0c;不仅能够兼容windows和mac双重系统&#xff0c;同时还能够识别u盘、存储卡、手机等多种数据储存设备&#xff0c;可恢复的文件类型更是多达百余种。还贴心地准备个人版、专业版和企业版的下载&#xff0c;增加了用户的可选性…

Android-P CameraSerivce

0 前言 本文重点分析Android-P的CameraService实现。 验证:Goldfish模拟器 1 定义 图1.1 CameraService ICameraServiceframeworks/av/camera/aidl/android/hardware/ICameraService.aidlBnCameraServiceout/soong/.intermediates/frameworks/av/camera/libcamera_client/an…

通过分析波形,透彻理解 UART 通信

UART是一种异步全双工串行通信协议&#xff0c;由 Tx 和 Rx 两根数据线组成&#xff0c;因为没有参考时钟信号&#xff0c;所以通信的双方必须约定串口波特率、数据位宽、奇偶校验位、停止位等配置参数&#xff0c;从而按照相同的速率进行通信。 异步通信以一个字符为传输单位…