各位数字和-第13届蓝桥杯选拔赛Python真题精选

news2024/11/18 5:53:29

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

各位数字和,本题是2021年11月27日举办的第13届蓝桥杯青少组Python编程选拔赛真题编程部分第3题。题目要求编程计算在给定的N个正整数中,哪些正整数各个位数上的数字和为10。

先来看看题目的要求吧。

一.题目说明

编程实现:

给定N个正整数,判断N个正整数中,哪些正整数各个位数上的数字和为10,并输出这些正整数,若没有正整数满足条件,则输出0。

例如:输入4个正整数:19,20,21,28,其中19和28的个位和十位上的数字相加和为10,输出19,28。

输入描述:

输入N个正整数,正整数之间用一个英文逗号隔开

输出描述:

输出N个正整数中各个位数上的数字和为10的正整数,正整数之间用一个英文逗号隔开,若没有正整数满足条件,则输出0

样例输入:

19,20,21,28

样例输出:

19,28

二.思路分析

这是一道简单的算法题,涉及的知识点包括循环、列表、自定义函数、字符串处理和枚举算法等。

要找到满足各位数字和为10的正整数,这是典型的枚举算法,这里的重点是如何计算给定正整数的各位数字和。

一般来说,有如下两种方法:

  • 字符串方法

  • 拆位算法

字符串方法比较简单,直接遍历字符串,获取每一位字符数字,将其转成数字进行累加即可。

拆位算法则是典型的数学方法,利用余数和整除运算,每一次通过%10运算,获取最低位,然后使用 /=10运算,去掉最低位,直到数字变为0,这就是经典的拆位算法。

为了简化代码结构,我们可以自定义函数来计算给定正整数的和。

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

三.编程实现

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

  • 字符串方法

  • 拆位算法

1. 字符串方法

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

图片

代码不少,说明4点:

1). 函数的参数是字符串,返回值是整数;

2). 使用for...in获取每一个字符,然后通过int()函数转成数字进行累加;

3). 在获取输入的数字时,直接以字符串的形式来保存;

4). 为了方便输出,这里使用res列表保存满足条件的数字,最后使用字符串join()方法将数字用逗号连接起来。 

2. 拆位算法

使用拆位算法,编写代码如下:

简单说明3点:

1). 函数的参数是整数,返回值也是整数;

2). 在去掉最低位的时候,使用的是整除运算符//,不能使用/;

3). 由于数字是以字符串的形式保存到nums列表中,在调用函数fsum()的时候,需要使用int()函数将其转成整数。

至此,整个程序就全部完成了,你可以输入不同的数据来测试效果啦。

四.总结与思考

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

  • 循环语句;

  • 列表操作;

  • 字符串操作;

  • 类型转换;

  • 拆位算法;

本题代码不多,难度一般,关键点有两个,一是如何获取给定数字的各位数字,二是使用自定义函数来简化代码结构。

获取数字的每一位数字,这里给出了两种不同的解决方案,其中字符串方法是Python独有的特性,方便好用,体现了Python的简洁性。

相对来说,拆位算法则更加通用,适用于所有的编程语言,也是每个人都必须要掌握的基础算法。

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

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

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

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

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

相关文章

使用 MPI 做 3D 带状矩阵的转置

目的:整个大矩阵从 [Nx, Ny, Nz] 转到 [Nz, Nx, Ny] 每个进程的输入:大矩阵的 [Nx / total_proc_num, Ny, Nz] 的部分 每个进程的输出:大矩阵的 [Nz / total_proc_num, Nx, Ny] 的部分 一开始我大概有一个想法,假设两个进程的话…

24款奔驰GLE350升级原厂环视全景360影像 抬头显示HUD

奔驰GLE350原厂360全景影像的清晰度通常取决于车辆的具体型号和年份,以及安装的摄像头和显示屏质量。一般来说,原厂360全景影像系统会提供高清的影像,让驾驶者能够清晰地看到车辆周围的环境,帮助进行停车和转弯等操作抬头显示&…

go学习笔记-从圣经中抄录的接口值的思考

接口值 接口值,由两个部分组成,一个具体的类型和那个类型的值 下面4个语句中,变量w得到了3个不同的值。( 开始和最后的值是相同的) var w io.Writer w os.Stdout w new(bytes.Buffer) w nil var w io.Writer var…

胶原蛋白流失大揭秘:你的肌肤还年轻吗?

🍃当我们谈及胶原蛋白,不少女生眼中都会闪过一丝光芒。为什么呢?因为胶原蛋白是维持我们肌肤弹性、水润的秘密武器啊!但是,随着岁月的流逝,你是否发现自己的肌肤开始变得松弛、无弹性,甚至出现了…

夸夸生肖属鼠的女性朋友

属鼠人一生的命运受到许多因素的影响,包括性格、家庭、教育、环境等。属鼠人性格外向、求知欲强、善解人意、善于结交各种各样的朋友,有丰富的人脉,容易得到他人的帮助和支持。 属鼠的人聪明、机智,他们善于观察,富有…

手把手教学,一站式安装ubuntu及配置服务器

应用背景:实验室刚弄了一台4090的电脑,老师让我们搞成服务器 一、制作ubuntu启动盘 1.1 清华开源影像站下载ubuntu桌面版本Index of /ubuntu-releases/22.04/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror 1.2 下载UltralSO软件 https://…

案例分享|Alluxio在自动驾驶模型训练中的应用与部署

分享嘉宾: 杨林三-辉羲智能 关于辉羲智能: 辉羲智能致力打造创新车载智能计算平台,提供高阶智能驾驶芯片、易用开放工具链及全栈自动驾驶解决方案,运用独创性“数据闭环定义芯片”方法学,助力车企构建低成本、大规模和…

Java延时队列取消未支付的订单

一、定义延迟任务类 package com.activity.domain;import java.util.concurrent.Delayed; import java.util.concurrent.TimeUnit;/*** 延迟任务类*/ public class DelayedCancellation implements Delayed {private String order;private final long delayTime; // 延迟时间p…

Ansible自动化运维中的Setup收集模块应用详解

作者主页:点击! Ansible专栏:点击! 创作时间:2024年5月22日13点14分 💯趣站推荐💯 前些天发现了一个巨牛的🤖人工智能学习网站,通俗易懂,风趣幽默&#xf…

捕食者优化算法,原理详解,MATLAB代码免费获取

捕食者优化算法(Hunter–prey optimization,HPO)是一种受自然启发的群智能优化算法。该算法的灵感来自于捕食动物(如狮子、豹和狼)以及猎物(如雄鹿和瞪羚)的行为。动物狩猎行为有很多场景,其中一些场景已经转化为优化算法。本文使…

数据结构篇其三---链表分类和双向链表

​ 前言 数据结构篇其二实现了一个简单的单链表,链表的概念,单链表具体实现已经说明,如下: 单链表 事实上,前面的单链表本质上是无头单向不循环链表。此篇说明的双向链表可以说完全反过来了了。无论是之前的单链表还…

Arthas反编译与重新加载class

一、背景 因为其他研发部门同事给的产品jar包存在一个问题,就是http底层的超时时间默认为60s,但是最近调用外部接口同步数据,这个数据量太大导致超时超过60s,每次同步都不成功。但是客户目前对此情况特别不满意,需要紧…

将电脑D盘部分空间划分给C盘的方法

本文介绍在Windows电脑中,将D盘的部分空间分给C盘的方法。 最近,发现电脑中C盘的空间剩余不多了;而D盘由于当初分盘时划分的空间过多,导致其剩余空间很大且大概率以后都不会用上D盘中这些多余的空间了。因此,希望将D盘…

使用Word表格数据快速创建图表

实例需求:Word的表格如下所示,标题行有合并单元格。 现在需要根据上述表格数据,在Word中创建如下柱图。如果数据在Excel之中,那么创建这个图并不复杂,但是Word中就没用那么简单了,虽然Word中可以插入图表&a…

轻松拿捏C语言——【字符串函数】的使用及模拟实现

🥰欢迎关注 轻松拿捏C语言系列,来和 小哇 一起进步!✊ 🎉创作不易,请多多支持🎉 🌈感谢大家的阅读、点赞、收藏和关注💕 🌹如有问题,欢迎指正 感谢 目录 一、…

向npm发布自己写的vue组件,使用vite创建项目

向npm发布自己写的vue组件,使用vite创建项目 创建项目 pnpm create vite输入项目名称 由于我的组件是基于 ant-design-vue和vue的,需要解析.vue文件,我又安装了下面4个。 然后执行 pnpm i安装依赖 vite.config.ts import { defineC…

ES基础概念

本文不介绍如何使用ES(使用ES见:) 1.ES生态圈 ES: Logstash:数据处理服务程序,解析转换加工数据; Kibana:数据展示、集群管理,数据可视化、ES管理与监控、报表等&#xf…

【QT+VS】如何在现有VS项目中添加Qt界面?【全网最详细】

0. 前置步骤 参考如下链接文章中的 前3个步骤(1:下载Qt;2:安装Qt;3:安装Qt插件),完成环境的配置和安装。 深耕AI:如何联合Qt,VS,C++,来开发一个电脑版软件(简单有趣,详细) 本文的基础项目链接为: c++工程+图像分割预测+mmdet+实例分割+最新工程+简洁易懂+新手…

方正畅享全媒体新闻采编系统 binary.do SQL注入漏洞复现

0x01 产品简介 方正畅享全媒体新闻生产系统是以内容资产为核心的智能化融合媒体业务平台,融合了报、网、端、微、自媒体分发平台等全渠道内容。该平台由协调指挥调度、数据资源聚合、融合生产、全渠道发布、智能传播分析、融合考核等多个平台组成,贯穿新闻生产策、采、编、发…

Mysql 备份恢复 mysqldump与xtrabackup备份

1.1 备份的原因 备份是数据安全的最后一道防线,对于任何数据丢失的场景,备份虽然不一定能恢复百分之百的数据 (取决于备份周期),但至少能将损失降到最低。衡量备份恢复有两个重要的指标:恢复点目标(RPO) 和恢复时间目标(RTO)&…