统计字母数量-第11届蓝桥杯选拔赛Python真题精选

news2024/11/22 6:07:28

[导读]:超平老师的Scratch蓝桥杯真题解读系列在推出之后,受到了广大老师和家长的好评,非常感谢各位的认可和厚爱。作为回馈,超平老师计划推出《Python蓝桥杯真题解析100讲》,这是解读系列的第15讲。

统计字母数量,本题是2019年~2020年举办的第11届蓝桥杯青少组Python编程选拔赛真题(具体日期不详),题目要求编写程序统计三行文字中各字母出现的次数并打印出来。

先来看看题目的要求吧。

一.题目说明

编程实现:

连续输入由英文字母组成的三行文字(每行文字不少于 10个字符,中间有空格和英文标点符号),以回车键结束一行文字的输入。

然后统计这三行文字中各字母出现的次数(不区分大小写),并以如下样例所示的方式输出各字母出现的次数(没有出现的字母不显示)。

输入描述:

三行英文文字,每行文字的输入以回车键结束。

输出描述:

1). 将输入的三行文字拼接在一起输出;

2). 换行输出文字中出现的英文字母(不区分大小写)的大写,且按字母表顺序排序、相邻字母问距相同;

3). 再换行在大写字母下方输出其在文字中出现的次数。

输人样例:

请输入第1行英文文字:I love you. my baby.

请输入第2行英文文字:You are a good boy.

请输入第3行央文文字:We are very happy with you.

输出样例:

图片

评分标准:

  • 8分:正确将三行文字拼接在一起输出;

  • 10分:正确输出一行大写英文字母(文中出现的字母),且按字母表顺席排序、间距相同:

  • 12 分:在大写字母下方输出各字母在文中出现的次数,且一一对应(不要求按字母表顺序排序)。

二.思路分析

这是一道字符串处理的题目,考查的知识点包括循环、字符串运算和字典的灵活运用。

题目要求输出两个内容,一是合并之后的字符串,二是每个字母出现的次数。

对于第一个问题,非常的简单,直接使用连接运算处理即可,这里的难点是第二个问题。

每个字母都需要统计对应的次数,如图所示:

图片

看到这种表格,你想到了什么?

相信聪明的你,已经想到了,这不就是字典吗。

图片

是的,本题需要用到字典这种数据结构,确定了数据结构,接下来就需要考虑该如何着手解决问题。

根据题目的描述,我们可以分成如下4个步骤:

  • 构造字典

  • 遍历字符串,统计字母数量

  • 过滤字典

  • 分别输出字典的键和值

首先是第一步,构造字典。

我们需要构造一个由26个大写字母构成的字典,如下:

{'A' : 0, 'B' : 0, 'C' : 0, 'D' : 0, ......}

构造的方法有两种,一种是按照上面的格式直接书写,第二种是借助ASCII码,结合chr()函数和循环来构造,很显然第二种方式更为简单,前提是你已经掌握了chr()函数。

接着是第二步,遍历字符串,统计字母数量。

其过程也比较简单,就是使用循环,对字符进行逐个处理,只是要注意两点,一是非字母字符无需处理,二是要将字母转换成大写字母。

我们可以借助字符串相关的方法来实现,如下:

isalpha():判断是否为字母upper():将字母转成大写

第三步,过滤字典。

我们的字典包含26个字母,统计完成之后,有些字母的数量仍然为0,需要将其过滤掉,这可以结合循环来实现。

最简单的方法莫过于使用字典推导式了,基本用法如下:

{key:value for (key,value) in dict.items() if condition}

第四步,分别输出字典的键和值。

这一步就比较简单了,由于键和值是分两行输出的,所以我们需要分别获取字典的键和值,可以使用如下两个方法:​​​​​​​

dict.keys(): 获取字典的键,返回列表dict.values():获取字典的值,返回列表

在输出的时候,使用空格分开即可。

思路有了,接下来,我们就进入具体的编程实现环节。

三.编程实现

根据上面的思路分析,我们编写代码如下:

图片

代码不难理解,再强调4点:

1). 对于这里的chr()函数,如果不记得的话,可以直接写出整个字典;

2). 对于这里的isalpha()函数,如果不记得的话,也可以直接使用字符比较,如下:

'a' <= c <= 'z' or 'A' <= c <= 'Z'

3). 字母之间有一定的间隔,可以直接使用转义字符'\t',也可以直接打空格,数字之间也是如此;

4). 字母全部输出后,需要使用print()函数单独输出一个换行。

运行程序,输入样例中的数据,效果如下:

图片

至此,整个程序就全部完成了,你可以输入不同的字符串测试效果。

四.总结与思考

本题的分数为30分,代码在20行左右,涉及到的知识点包括:

  • 循环语句,主要是for...in循环;

  • 字符串操作;

  • 字典的灵活运用;

  • 输入输出处理;

题目难度中等,难点有两个,一是要熟练掌握字符串的基本操作,包括连接运算、chr()、isalpha()和upper()等方法。二是字典的灵活运用,不但要理解字典的特点,同时还要熟悉字典的基本操作,尤其字典推导式的使用,可以极大地节省代码量。

ASCII码是学习编程的基础,必须要非常的熟悉,包括常见字符对应的ASCII值,以及ASCII码与字符之间的相互转换。

图片

在比赛的时候,是不能查阅任何资料的,这就要求每位同学在学习编程时,要多加练习,熟练掌握Python的基础知识,平时多一些努力,竞赛时就多一分轻松。

你还有什么好的想法和创意吗,也非常欢迎和超平老师分享探讨。

如果你觉得文章对你有帮助,别忘了点赞和转发,予人玫瑰,手有余香😄

需要源码的,可以移步至“超平的编程课”gzh。

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

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

相关文章

SQL的触发器和存储过程,一文学会!

目录 一、什么是SQL 二、什么是触发器 三、什么是存储过程 一、什么是SQL SQL&#xff08;Structured Query Language&#xff09;是结构化查询语言的缩写,它是用于管理和操作关系型数据库的标准化语言。SQL是一种声明式的语言,通过编写SQL语句来描述对数据库的操作。SQL具…

【Linux】高性能 Web 服务器 Nginx 安装教程(Ubuntu 22.04)

前言 Nginx 是一个高性能的开源 Web 服务器软件&#xff0c;也可以用作反向代理服务器、负载均衡器、HTTP 缓存以及作为邮件代理服务器等。Nginx 以其高性能、稳定性和丰富的功能而闻名&#xff0c;被广泛用于构建高流量网站和应用程序。 步骤 更新软件源 首先需要更新系统的软…

关于“Python”的核心知识点整理大全17

目录 ​编辑 8.3.4 结合使用函数和 while 循环 greeter.py 8.4 传递列表 greet_users.py 8.4.1 在函数中修改列表 printing_models.py 8.4.2 禁止函数修改列表 要将列表的副本传递给函数&#xff0c;可以像下面这样做&#xff1a; 往期快速传送门&#x1f446;&#x…

16:00的面试,16:07就出来了,问的问题过于变态了。。。

从小厂出来&#xff0c;没想到在另一家公司又寄了。 到这家公司开始上班&#xff0c;加班是每天必不可少的&#xff0c;看在钱给的比较多的份上&#xff0c;就不太计较了。没想到六月一纸通知&#xff0c;所有人不准加班&#xff0c;加班费不仅没有了&#xff0c;薪资还要降40…

Java版直播商城规划:电商源码、小程序、三级分销与免费搭建全攻略

SAAS云平台】打造全行业全渠道全场景的SaaS产品&#xff0c;为店铺经营场景提供一体化解决方案&#xff1b;门店经营区域化、网店经营一体化&#xff0c;本地化、全方位、一站式服务&#xff0c;为多门店提供统一运营解决方案&#xff1b;提供丰富多样的营销玩法覆盖所有经营场…

图片类型的二维码怎么做?扫码看图长期有效

扫码看图的效果是怎么做出来的&#xff1f;现在用二维码来查看图片的方式越来越流行&#xff0c;这种方法能够让更多人同时查看图片。可能有些小伙伴在生成的图片二维码时担心二维码是有时间限制的&#xff0c;逾期后就无法展示了&#xff0c;从而无法满足自己的使用需求&#…

git客户端安装问题

问题回顾&#xff1a; 做git客户端版本升级&#xff0c;安装好之后提示git&#xff1a;‘remote-https‘ 不是一个 git 命令。参见 git --help。 问题处理&#xff1a; 缺少第二步依赖下载 安装步骤&#xff1a; 1、删除安装git yum remove git 2、安装依赖 yum install lib…

企业选CRM系统,这3个关键点你一定不能错过

在充满竞争的商业市场中&#xff0c;企业需要一种强大的工具来管理客户关系&#xff0c;从而提高销售效率。CRM客户关系管理软件就是企业所需要的。然而仅仅是在国内&#xff0c;CRM的供应商就超过了一千家&#xff0c;那么应该怎样选择适合企业的CRM系统&#xff1f; 一、软件…

数字图像处理(实践篇)二十三 使用dlib进行人脸68关键点检测

目录 1 安装dlib 2 下载shape_predictor_68_face_landmarks.dat文件 3 涉及的函数 4 实践 使用dlib进行人脸68关键点检测实践。 1 安装dlib 使用如下命令即可安装dlib: pip install dlib

beebox靶场A3 中等级别 xss通关教程

特别注意&#xff0c;低级和中级的差别在于中级使用了一些函数进行了过滤或转义字符 例如 addslashes() 函数返回在预定义字符之前添加反斜杠的字符串。 预定义字符是&#xff1a; 单引号&#xff08;&#xff09;双引号&#xff08;"&#xff09;反斜杠&#xff08;\&…

14:00面试,14:08就出来了,问的问题有点变态。。。。。。

从小厂出来&#xff0c;没想到在另一家公司又寄了。 到这家公司开始上班&#xff0c;加班是每天必不可少的&#xff0c;看在钱给的比较多的份上&#xff0c;就不太计较了。没想到5月一纸通知&#xff0c;所有人不准加班&#xff0c;加班费不仅没有了&#xff0c;薪资还要降40%…

Chart 9 Adreno GPU的 OpenCL 扩展

文章目录 前言9.1 OS-dependent vendor extensions9.1.1 Performance hint (cl_qcom_perf_hint)9.1.2 Priority hint for context creation (cl_qcom_priority_hint)9.1.3 Recordable command queue (cl_qcom_recordable_queues)9.1.4 cl_qcom_protected_context9.1.5 cl_qcom_…

python对验证码进行降噪处理

举例图&#xff1a; 第一步先通过二值化处理把干扰线去掉&#xff1a; from PIL import Image# 二值化处理 def two_value():for i in range(1,5):# 打开文件夹中的图片imageImage.open(./Img/str(i).jpg)# 灰度图limimage.convert(L)# 灰度阈值设为165&#xff0c;低于这个值…

搭建个人博客攻略

文章目录 碎碎念一、下载 g i t git git 和 N o d e . j s Node.js Node.js二、安装 h e x o hexo hexo 1. 1. 1.在非 C C C 盘新建一个文件夹 b l o g blog blog&#xff0c;右键打开 g i t b a s h git bash gitbash 2. 2. 2.在 g i t git git 创建文件 hexo 3. 3. 3.he…

基于FPGA的图像RGB转CIE-Lab实现,包含testbench和MATLAB辅助验证程序

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1RGB颜色空间 4.2CIE-Lab颜色空间 4.3RGB转CIE-Lab算法原理 5.算法完整程序工程 1.算法运行效果图预览 将FPGA的结果导入到matlab&#xff0c;并和matlab的仿真结果进行对比&#xff1a…

数据质量管理软件行业分析:2023年复合增长率达到31.9%

数据质量管理软件按照一般的功能模块划分可以划分为产品信息管理、存货管理、销售管理、采购管理、生产管理、设备管理、实验室管理、品质管理、售后管理等模块&#xff0c;质量管理绝非仅仅检验&#xff0c;或者常说的批检、巡检、首检、自检等&#xff0c;质量管理是对只要影…

密码至少包含大写、小写字母、数字和特殊字符其中三种

j 正则表达式&#xff1a; var passReg /^(?![a-zA-Z]$)(?![A-Z0-9]$)(?![A-Z\W_!#$%^&*~()-]$)(?![a-z0-9]$)(?![a-z\W_!#$%^&*~()-]$)(?![0-9\W_!#$%^&*~()-]$)[a-zA-Z0-9\W_!#$%^&*~()-]{8,32}$/;if (!passReg.test(value)) {return callback(new Er…

外汇天眼:新手做外汇交易需要注意什么?

外汇投资是一个充满机会和挑战的市场&#xff0c;对于新手来说&#xff0c;了解一些必要的知识和技巧是非常重要的。 以下是一些新手投资外汇必须注意以下几点&#xff1a; 1.了解外汇市场的基本知识 在进入外汇市场之前&#xff0c;了解一些基本知识是必要的。 这包括外汇市…

触发器和函数:让代码更接近数据

来源&#xff1a;艾特保IT 虹科干货丨触发器和函数&#xff1a;让代码更接近数据 原文链接&#xff1a;虹科干货 | 触发器和函数&#xff1a;让代码更接近数据 欢迎关注虹科&#xff0c;为您提供最新资讯&#xff01; 文章速览&#xff1a; 触发器和函数的基础知识 编写语言…

2023_Spark_实验二十六:编写Shell模拟生成点击实时数据

引言&#xff1a;流式数据处理主要处理实时数据&#xff0c;由于实验教学过程中&#xff0c;每个同学无法拿到实时数据&#xff0c;因此我们开发shell脚本模拟实时数据生成&#xff0c;支持后续实验。 实验目的&#xff1a;通过开发模拟实时点击流shell脚本&#xff0c;模拟实时…