字符串转码-第11届蓝桥杯国赛Python真题精选

news2024/11/15 19:36:38

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

字符串转码,本题是2020年10月30日举办的第11届蓝桥杯青少组Python编程国赛编程部分第2题,题目要求将给定的字符串中的奇数位转为大写字母,偶数位转成对应的ASCII码。

先来看看题目的要求吧。

一.题目说明

编程实现:

输入一个全部由小写字母组成的字符串(如:abcd),然后将字符串奇数位的小写字母转为大写字母,将偶数位的小写字母转为对应的ASCII码,最后将转化后的结果输出。

输入描述:

输入一个全部由小写字母组成的字符串(如:abcd)

输出描述:

输出转化后的结果

样例输入:

abcd

样例输出:

A98C100

二.思路分析

这是一道简单的字符串运算题,考查的知识点主要包括循环、字符串运算和常见的内置函数。

根据题目的要求,需要对输入的字符串进行遍历,按顺序依次取出每一个字符并处理,按照位置分为两种情况:

  • 奇数位:将小写字母转成大写

  • 偶数位:将小写字母转成对应的ASCII码

最简单的方法是直接使用Python内置函数,涉及大小写转换的函数有如下两个:

upper(): 将小写字母转为大写lower(): 将大写字母转为小写

涉及ASCII码的函数有如下两个:​​​​​​​

ord(): 获取指定字符的ASCII码chr(): 获取指定ASCII码的字符

对于本题而言,我们只需要使用upper()和ord()即可。

不过需要注意对于奇数位和偶数位的正确解读,可以结合样例来理解,很显然,第一个字符是奇数位,第二个是偶数位,以此类推。

当然,有同学会有这样的疑问,考试的时候,完全不记得这些内置函数了,怎么办?有没有其他的方法?

这个必须有,使用字典就可以,代码稍微复杂一点,同时需要对ASCII码有所了解,至少要知道字母'a'和‘A’的ASCII码,如图所示:

图片

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

三.编程实现

根据上面的思路分析,我们使用两种方法来编写程序:

  • 使用内置函数;

  • 使用字典;

1. 使用内置函数

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

图片

代码比较简单,强调3点:

1). Python中的for循环的索引i默认是从0开始的,因此当i为偶数时表示奇数位;

2). upper()方法是对字符或字符串而言的,需要使用对象调用方法的语法;

3). ord()是函数,直接传入参数即可,返回值是数字,需要转成字符串,再进行字符串连接操作。

2. 使用字典

使用字典的思路就是先分别定义好两个字典,一个是小写字母和大写字母对应的字典,一个是小写字母和ASCII码对应的字典,然后直接使用字典进行拼接,我们分3步来实现。

第一步,定义大写字母字典

将小写字母作为键,大写字母作为值,定义字典如下:

图片

第二步,定义ASCII码字典

将小写字母作为键,将ASCII码作为值,定义字典如下:

图片

第三步,循环转换

有了字典,对于任何一个小写字母,我们就可以直接获取其对应的大写字母和ASCII码,编写代码如下:

图片

这部分代码和方法1基本相同,不同的是,在获取大写字母时直接使用字典letter_dict,获取ASCII码时直接使用字典ascii_dict。

输入字母abcd,效果如下:

图片

输入字母abcdefghijk,效果如下:

图片

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

四.总结与思考

本题核心代码在8行左右,涉及到的知识点包括:

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

  • 输入输出函数;

  • 条件语句;

  • 字符串运算;

  • Pyhton内置函数;

本题比较简单,重点是对upper()方法和ord()函数的熟悉程度,一旦掌握了这两个函数,写代码也就是几分钟的事情了。

退一步来说,在比赛的时候,实在想不起来这些函数,也应该能够找到其它解决方案,比如这里的字典。

两相对比,内置函数实在是太好用了,所以在日常学习Python编程的时候,要多了解并使用Python内置函数,从而提升编程效率。

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

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

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

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

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

相关文章

PawSQL更新 | 新增18个SQL性能审核重写规则

PawSQL最新版本针对DML和DQL新增了审核和重写优化规则共计33个,整体的规则数目达到了83个,覆盖了正确性,安全性、可维护性、性能四个方面的SQL质量问题,并提供了优化建议,已经形成比较完善的针对数据操作的SQL质量审查…

动态规划之买卖股票问题(篇三)(买卖股票的最佳时机)

本篇博客主要讲解309.最佳买卖股票时机含冷冻期和714.买卖股票的最佳时机含手续费,这也是股票系列的最后一篇讲解。 309.最佳买卖股票时机含冷冻期 题目: 给定一个整数数组prices,其中第 prices[i] 表示第 i 天的股票价格 。​ 设计一个算…

SpringBoot---创建项目

介绍 此项目SpringBoot使用的是2.6.1版本,由于这个项目使用的是maven聚合方式创建的,所以第二步是我在聚合方式下需要添加的依赖,完整的pom.xml内容放到了最下面。 第一步:创建Maven项目 这个里什么也不勾选,直接点…

<网络安全>《9 入侵防御系统IPS》

1 概念 IPS( Intrusion Prevention System)是电脑网络安全设施,是对防病毒软件(Antivirus Programs)和防火墙(Packet Filter, Application Gateway)的补充。 入侵预防系统(Intrusio…

PMP成绩查询及电子版证书下载

PMP项目管理--学习专栏https://blog.csdn.net/xmws_it/category_10954848.html?spm1001.2014.3001.5482 2023年11月25日PMP考试成绩今日凌晨开始发布,按照往年的情况,成绩都是分批出的,如果暂时没查到成绩的同学请耐心等待,预计…

【webrtc】m98 : vs2019 直接构建webrtc及moduletest工程 2

字数有限制,我们继续 【webrtc】m98 : vs2019 直接构建webrtc及unitest工程 1modules_unittests 构建 Build started... 1>------ Build started: Project: modules_unittests, Configuration: GN Win32 ------ 1>ninja: Entering directory `G:\CDN\rtcCli\m98\src\o…

Git怎样用?(下载到本地,和在本地初始化)

全局设置: 点击第二个 输入: 例如;邮箱是随意地 git config --global user.name "名字" git config --global user.email "邮箱" 获取git仓库 本地初始化: 创建仓库 右键第二个 输入 git init 克隆&#…

力扣hot100 子集 回溯 超简洁

Problem: 78. 子集 文章目录 思路复杂度Code 思路 &#x1f468;‍&#x1f3eb; 参考题解 复杂度 时间复杂度: 添加时间复杂度, 示例&#xff1a; O ( n ) O(n) O(n) 空间复杂度: 添加空间复杂度, 示例&#xff1a; O ( n ) O(n) O(n) Code class Solution {List<Li…

wsl-ubuntu 安装 nginx

wsl-ubuntu 安装 nginx 1. 安装 nginx2. 确认 nginx 启动状态3. 重启 nginx4. 停止 nginx 1. 安装 nginx sudo apt install nginx2. 确认 nginx 启动状态 systemctl status nginx3. 重启 nginx systemctl restart nginx4. 停止 nginx systemctl stop nginx完成&#xff01;…

网络安全防御保护 Day4

要点一&#xff1a;防火墙的智能选路 就近选路&#xff1a; 在访问不同运营商的服务器时直接通过对应运营商的链路&#xff0c;以此来提高通信效率&#xff0c;避免绕路。 策略路由&#xff08;PBR&#xff09;&#xff1a; 这是一种基于用户定义的策略&#xff08;如业务需求、…

【云上建站】快速在云上构建个人网站1——概述及获取虚拟机

快速在云上构建个人网站1——概述及获取虚拟机 前言-个人建站一、云服务简介1、云服务2、优点首先&#xff0c;云服务器是按需租赁的&#xff0c;其次&#xff0c;云服务器公司会负责服务器的维护管理&#xff0c; 3、主流应用网站建设测试学习数据管理制图渲染 二、获取ECS1、…

PetaPixel专访尼康工程师 深度解读尼康相机的设计之道

值此尼克尔镜头成立90周年之际&#xff0c;国外知名媒体PetaPixel采访了尼康设计中心前川明哉&#xff08;Akiya Maekawa&#xff09;先生和尼康UX企划部&#xff08;影像事业部&#xff09;日野光輝&#xff08;Mitsuteru Hino&#xff09;先生&#xff0c;通过与他们的对话&a…

选型 之 工业相机篇

一、概述 23年24年行情不会好&#xff0c;公司各种想办法裁员&#xff0c;在大陆这个大熔炉中只能不断地提炼。我个人主要是在工业领域做2D图像算法和3D算法&#xff0c;但是现在出去都需要全能人才 方案、算法、运动控制等&#xff0c;我目前最大的短板就是方案&#xff0c;在…

力扣hot100 电话号码的字母组合 回溯

Problem: 17. 电话号码的字母组合 文章目录 思路复杂度&#x1f49d; Code 思路 &#x1f468;‍&#x1f3eb; 参考题解 复杂度 时间复杂度: O ( 3 8 ) O(3^8) O(38) 空间复杂度: O ( 3 8 ) O(3^8) O(38) &#x1f49d; Code class Solution {String[] map { "…

AMC系列可编程智能电测仪表功能以及选型

功能&#xff1a; AMC 系列可编程智能电测仪表是针对电力系统、工矿企业、公用设施、智能大厦的电力监控需求而设计的智能仪表&#xff0c;它集成电力参数的测量(如单相或者三相的电流、电压、有功功率、无功功率、视在功率、频率、功率因数)以及电能监测和考核管理。采用高亮…

单片机学习笔记---静态数码管显示

目录 数码管是什么&#xff1f; 一位数码管的引脚定义 四位一体的数码管引脚定义 数码管的原理图解析 数码管怎么显示数据&#xff1f;&#xff08;总结代码显示&#xff09; 今天开始学习数码管&#xff0c;它比LED和独立按键复杂一点 数码管是什么&#xff1f; LED数码…

【Docker Registry】docker 镜像仓库实战

Docker Registry 镜像仓库 (Docker Registry) 负责存储、管理和分发镜像&#xff0c;并且提供了登录认证能力&#xff0c;建立了仓库的索引。 镜像仓库管理多个 Repository&#xff0c; Repository 通过命名来区分。每个 Repository 包含一个或多个镜像&#xff0c;镜像通过镜…

AMEYA360详解蔡司原位液体电化学显微解决方案

基于蔡司全系列电子显微镜的原位液体电化学显微解决方案具有在真实液氛下的高分辨成像、多模态全面表征以及灵活扩展的创新优势。本期分享液氛SEM的原位多模态分析方法&#xff0c;以及高分辨成像的全新案例。 创新突破1&#xff1a;液氛SEM的原位多模态分析 蔡司原位液体电化学…

C# Socket 允许控制台应用通过防火墙

需求&#xff1a; 在代码中将exe添加到防火墙规则中&#xff0c;允许Socket通过 添加库引用 效果&#xff1a; 一键三联 若可用记得点赞评论收藏哦&#xff0c;你的支持就是写作的动力。 源地址: https://gist.github.com/cstrahan/513804 调用代码: private static void …

AI投资或成科技裁员罪魁祸首

最近的科技裁员让许多人对这个行业的稳定性产生了疑问。然而&#xff0c;仔细观察发现&#xff0c;这些裁员并不是经济困境的迹象&#xff0c;而是科技公司为了重新调整优先事项并投资未来而进行的战略举措。科技行业正投入数十亿美元用于人工智能&#xff08;AI&#xff09;&a…