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

news2024/9/30 1:25:54
  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()
    

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

一个注解搞定 SpringBoot 接口防刷

来源&#xff1a;blog.csdn.net/weixin_42533856 /article/details/82593123 首先是写一个注解类 拦截器中实现 注册到springboot中 在Controller中加入注解 说明&#xff1a;使用了注解的方式进行对接口防刷的功能&#xff0c;非常高大上&#xff0c;本文章仅供参考 一&am…

戴上HUAWEI FreeBuds Pro 3, 近离城市喧嚣,尽情享受无损音质在耳边漫游

无损音质&#xff0c;由耳入心。戴上FreeBuds Pro 3&#xff0c;随着音符跃动、流转&#xff0c;感受生活细节之美&#xff0c;在这个温暖冬日来一场耳边漫游。

【Python小知识 - 5】:QGraphicsDropShadowEffect设置按钮阴影

文章目录 QGraphicsDropShadowEffect介绍案例 QGraphicsDropShadowEffect介绍 QGraphicsDropShadowEffect 是 PyQt 中的一个类&#xff0c;它可以在图形对象周围产生阴影效果&#xff0c;常用于美化界面。通过调整阴影的偏移、颜色、模糊度等参数&#xff0c;可以实现不同风格…

饰品价格持续下跌,steam搬砖还有搞头吗?

已经11月了&#xff0c;你手里的饰品出完了吗&#xff1f;csgo市场价格持续下跌&#xff0c;许多人听风就是雨&#xff0c;盲目跟风抛货、囤货&#xff0c;抛货是认为市场崩了&#xff0c;赶紧退场降低损失&#xff0c;不然会输得很惨&#xff0c;囤货的则认为有跌必有升&#…

【bmp文件怎么批量改成JPG?】

操作 在需要修改格式的图片文件夹中新建一个TXT文本文档 文档中输入(ren *.原图片类型 *.需要修改成的图片类型) ren *.bmp *.jpg 输入完成后保存 将刚刚新建的文档重命名 修改为.bat后缀的文件 弹出弹窗&#xff0c;点击是 双击此程序&#xff0c;即可将文件夹中的BMP图…

Databend 开源周报第 121 期

Databend 是一款现代云数仓。专为弹性和高效设计&#xff0c;为您的大规模分析需求保驾护航。自由且开源。即刻体验云服务&#xff1a;https://app.databend.cn 。 Whats On In Databend 探索 Databend 本周新进展&#xff0c;遇到更贴近你心意的 Databend 。 支持追加流 Da…

网站HTTPS证书

作为拥抱数字化时代的重要一环&#xff0c;建设一个安全可靠的网站对于吸引访问者并保持用户信任至关重要。在这方面&#xff0c;HTTPS证书是不可或缺的工具。HTTPS&#xff08;安全套接层传输协议&#xff09;证书是由受信任的第三方CA机构颁发的一种数字证书。它通过加密通信…

nodejs+vue+elementui足球篮球联赛系统

系统主要是以后台管理员管理为主。管理员需要先登录系统然后才可以使用本系统&#xff0c;管理员可以对个人中心、用户管理、赛事信息管理、球队信息管理、球员信息管理、比赛分值板管理、系统管理等进行添加、查询、修改、删除&#xff0c;以保障足球联赛管理系统的正常运行。…

【一文带你读懂docker,从入门到精通!】

dockerfile 是啥?dockerfile 用来构建 docker 镜像的文件。 前言 Docker 入门到精通 1、DockerFile 介绍 dockerfile 是啥?dockerfile 用来构建 docker 镜像的文件。 具体步骤&#xff1a; 1、编写一个 dockerfile 文件 2、docker build 构造一个镜像 3、docker run 运行…

SpringCloudAlibaba之sentinel 流量卫兵(流控,熔断降级) ——详细讲解

目录 一、什么是sentinel 二、sentinel使用 1. sentinel dashboard的安装 2.启动 3.访问web界面 ​编辑 4.登录 三、sentinel 实时监控服务 1.创建项目引入依赖 2.配置 3.启动服务 4.访问dashboard界面查看服务监控 5.开发服务 6.启动进行调用 7.查看监控界面 四、senti…

使用契约的链上期权合约

我们很高兴地宣布利用比特币契约的力量在链上实施期权合约。 只要该链支持比特币式契约&#xff08;例如 Bitcoin SV 和 MVC&#xff09;&#xff0c;就可以直接在区块链上执行复杂的金融合约&#xff0c;例如看涨期权和看跌期权。 与通常需要多个中介机构的传统金融平台不同&a…

骨传导耳机对人有伤害吗?佩戴骨传导耳机有什么副作用?

使用骨传导耳机并不会对人体造成伤害&#xff0c;也没有副作用&#xff0c;相反&#xff0c;使用骨传导耳机还可以在一定程度上起到保护听力的作用。 一、什么是骨传导耳机&#xff1f; 首先让我们先了解下骨传导耳机是什么&#xff1a; 骨传导耳机是指通过人体骨骼来传递声…

机器学习(1)机器学习类型和机器学习的主要概念

0.前提 深度学习&#xff08;Deep Learing&#xff09;是机器学习&#xff08;Machine Learning&#xff09;领域中的一个新的研究方向&#xff0c;在如今的时代研究深度学习的大模型是十分热门的。我不知道有多少人有关注到最近openai的事件啊&#xff0c;说个比较让我惊讶的…

【数字化转型方法论读书笔记】选型数据中台的几大建议

企业数字化转型离不开企业数字化技术的配备。但企业在选择数字化技术时也面临着一个问题&#xff0c;就是如何在大胆采用先进的数字化技术和对技术进行投资之间找到平衡&#xff0c;将投资风险降到最低&#xff0c;毕竟错误的技术选型会给企业带来不可估量的损失。 熟悉先进数…

抖音团购小程序怎么开通?怎么做抖音团购?

餐饮同行们已经纷纷上架了抖音团购服务&#xff0c;还没入局的商家还在等待什么呢&#xff1f;如果你还没有抓住这个流量的红利期&#xff0c;那就真的OUT了&#xff01;为了在这个竞争激烈的市场中脱颖而出&#xff0c;建议你尽快行动起来&#xff0c;打造一个属于自己的抖音团…

MES系统中的工厂计时计件工资

在制造业中&#xff0c;为了提高工资核算的准确性和效率&#xff0c;实时的数据跟踪和数据处理成为了关键。本文将从多个方面详细介绍MES系统在工厂计时计件工资系统方面的解决方案&#xff0c;以及MES系统与ERP系统如何实现联动集成。 一、MES系统在工厂计时计件工资系统中的解…

关于微信小程序中如何实现数据可视化-echarts动态渲染

移动端设备中&#xff0c;难免会涉及到数据的可视化展示、数据统计等等&#xff0c;本篇主要讲解原生微信小程序中嵌入echarts并进行动态渲染&#xff0c;实现数据可视化功能。 基础使用 首先在GitHub上下载echarts包 地址&#xff1a;https://github.com/ecomfe/echarts-for…

【Redis缓存】RedisTemplate如何获取符合要求的key,批量获取key

RedisTemplate如何获取符合要求的key,批量获取key 一、方法/命令二、数据使用 一、方法/命令 如果使用命令的形式&#xff0c;输入以下命令即可 keys *如果使用RedisTemplate&#xff0c;则方法为 redisTemplate.keys()获取所有符合条件的key。 二、数据使用 redis中缓存了…

leetcode:645. 错误的集合(python3解法)

难度&#xff1a;简单 集合 s 包含从 1 到 n 的整数。不幸的是&#xff0c;因为数据错误&#xff0c;导致集合里面某一个数字复制了成了集合里面的另外一个数字的值&#xff0c;导致集合 丢失了一个数字 并且 有一个数字重复 。 给定一个数组 nums 代表了集合 S 发生错误后的结…

RK3568 android11 实现GT9xx双路I2C触摸

一&#xff0c;GT911 触摸屏简介 它的接口类型为 I2C &#xff0c;供电电压和通讯电压均为 3.3V 。这款电容触摸屏内置了上拉电阻&#xff0c;这意味着我们的开发板上与该触摸屏的接口处不需要设置上拉电阻。关于线序&#xff0c;同样是 GT911 &#xff0c;不同批次的器件都有…