极值和平均值-第11届蓝桥杯选拔赛Python真题精选

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

极值和平均值,本题是2020年5月31日举办的第11届蓝桥杯青少组Python编程选拔赛真题,题目要求编程计算并输出输出五个正整数的最大值,最小值及平均值。

先来看看题目的要求吧。

一.题目说明

编程实现:

同时输入5个正整数以逗号隔开,依次输出五个正整数的最大值,最小值及平均值。

提示信息:

Python语法提示:五个以逗号分隔的正整数,可以采用如下方法进行转换、分离。

str = input)

nums = eval(str)

输入样例:

1, 3, 5, 7, 9

输出样例:

9

1

5.0

评分标准:

  • 5分:能正确判断一组数据;

  • 9分:能正确判断两组数据;

  • 11分:能正确判断三组及三组以上数据。

二.思路分析

这是一道简单的计算题,考查的知识点主要包括列表、循环累加、比较运算和常见的函数等。

针对本体,通常有两种方案:

  • 使用Python内置函数

  • 使用循环逐项处理

在Python编程中,提供了大量的内置函数,本题中用到的几个函数如下:

len():获取对象(包括字符、列表、元组等)的长度sum():对序列(包括列表、元组和集合)进行求和计算max():获取最大值min():获取最小值

其中,len()和sum()函数用于集合类型数据,而max()和min()函数则可以用于字符串、数字和集合等多种类型。

有了这些函数,问题就变得比较简单了。

当然了,如果不使用这些函数,我们也可以通过循环逐项处理,从而计算出平均值、最大值和最小值的。

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

三.编程实现

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

  • 使用内置函数

  • 使用循环逐项处理

1. 使用内置函数

使用内置函数比较简单,代码如下:

图片

关于输入处理,这里借助了列表推导式,前面已经多次讲解过,这里就不再赘述了。当然,你也可以直接使用题目提示的eval()函数,如下:

nums = eval(input())

需要注意两点:

1). 使用eval()函数,返回的是一个元组,可以使用list()函数将其转换成列表;
2). 在某些环境中,不支持eval()函数。

2. 使用循环逐项处理

使用循环的思路是,循环取出列表中的每一项,进行累加,并和最大值、最小值进行比较,同时统计数字的数量。

其代码如下:

图片

代码稍微多一点,但不难理解,重点说明一个细节,就是最大值mx和最小值mn的初始值,这里使用了float('inf'),它表示正无穷大,inf是无穷大(infinity)的缩写。

在数学中,无穷大是比任何实数都大的数,在Python中,它是float类型,可以用于比较操作或作为数学运算中的一个边界值。相应的,使用float('-inf')表示负无穷大,它表示的是一个比任何其他实数都小的数。

在求解最值问题时,经常会用到float('inf'),但要注意,通常是将最小值设为无穷大,然后逐个比较并更新最小值,将最大值设为无穷小,然后逐个比较并更新最大值。

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

四.总结与思考

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

  • 输入输出处理;

  • 列表运算;

  • 常见的内置函数;

题目难度一般,如果对Python内置函数比较熟悉,这就是一道送分题,这就要求在平时学习Python的过程中,尽量多使用内置函数,它可以极大地提升编程效率。

当然,如果不熟悉内置函数的话,我们也可以通过循环来实现,代码稍微多一点,但逻辑还是比较简单的。

给你留一道思考题,如果不使用float('inf')和-float('inf')来初始化最小值和最大值,我们应该如何进行初始化设置?

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

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

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

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

相关文章

GO语言笔记1-安装与hello world

SDK开发工具包下载 Go语言官网地址:golang.org,无法访问Golang中文社区:首页 - Go语言中文网 - Golang中文社区下载地址:Go下载 - Go语言中文网 - Golang中文社区 尽量去下载稳定版本,根据使用系统下载压缩包格式的安装…

【算法】 dp题单练习(寒假正在更新中)

题单链接: https://vjudge.net/contest/574209#overview 目录 1. 洛谷 P1020 导弹拦截 (dp二分Dilworth 定理) 2. 洛谷 P1439 最长公共子序列(二分求最长公共子序列) 3. 洛谷 P1854 花店橱窗布置 (线…

Illegal hex characters in escape (%) pattern

java.lang.NullPointerException 原因是关键字:5%葡萄糖注射液 其中的百分号通过HttpServletRequest的getParameter传到后端提示空指针异常,然后使用url格式,百分号的十六进制是%25(百分号加25) 在js代码中加入一段正…

Mybatis实现增删改查的两种方式-配置文件/注解

环境准备 1.数据库表tb_brand -- 删除tb_brand表 drop table if exists tb_brand; -- 创建tb_brand表 create table tb_brand(-- id 主键id int primary key auto_increment,-- 品牌名称brand_name varchar(20),-- 企业名称company_name varchar(20),-- 排序字段ordered int…

【SpringCloud Alibaba笔记】(2)Sentinel实现熔断与限流

Sentinel 概述 官网:https://github.com/alibaba/Sentinel 中文文档:https://sentinelguard.io/zh-cn/docs/introduction.html 类似Hystrix,以流量为切入点,从流量路由、流量控制、流量整形、熔断降级、系统自适应过载保护、热…

spdlog源码学习

前言 spdlog是一个跨平台c 的开源日志库 ,可以head only 使用,包含部分modern c 语法, 更是兼容了c20 format,支持异步和格式化输出,通俗易懂,适合阅读。 源码下载 here 用法 直接贴上了 example.cpp …

四种方式实现[选择性注入SpringBoot接口的多实现类]

最近在项目中遇到两种情况,准备写个博客记录一下。 情况说明:Service层一个接口是否可以存在多个具体实现,此时应该如何调用Service(的具体实现)? 其实之前的项目中也遇到过这种情况,只不过我采…

嵌入式培训机构四个月实训课程笔记(完整版)-Linux系统编程第二天-Linux开发板外设开发(物联技术666)

更多配套资料CSDN地址:点赞+关注,功德无量。更多配套资料,欢迎私信。 物联技术666_嵌入式C语言开发,嵌入式硬件,嵌入式培训笔记-CSDN博客物联技术666擅长嵌入式C语言开发,嵌入式硬件,嵌入式培训笔记,等方面的知识,物联技术666关注机器学习,arm开发,物联网,嵌入式硬件,单片机…

操作系统课程设计——文件管理系统(C语言版)

操作系统系列文章 http://t.csdnimg.cn/7XAnU 文章目录 实验一、进程的创建与撤销:http://t.csdnimg.cn/po4V0 实验二、银行家算法:http://t.csdnimg.cn/O5zoF 目录 操作系统系列文章 文章目录 文件管理 一、目的 二、设计内容 三、 设计要求 …

Excel·VBA按指定顺序排序函数

与之前写过的《ExcelVBA数组冒泡排序函数》不同,不是按照数值大小的升序/降序对数组进行排序,而是按照指定数组的顺序,对另一个数组进行排序 以下代码调用了《ExcelVBA数组冒泡排序函数》bubble_sort_arr函数(如需使用代码需复制…

如何在群晖7.2中运行WPS Office镜像容器并使用固定地址公网访问

文章目录 1. 拉取WPS Office镜像2. 运行WPS Office镜像容器3. 本地访问WPS Office4. 群晖安装Cpolar5. 配置WPS Office远程地址6. 远程访问WPS Office小结 7. 固定公网地址 wps-office是一个在Linux服务器上部署WPS Office的镜像。它基于WPS Office的Linux版本,通过…

LaTeX矩阵

在 LaTeX 中输入矩阵以及矩阵中增加公式。 LATEX 中 array 环境可以定义二维数组,具体需要定义列数,并用 \\ 换行,数组可作为一个公式块,在外套用 \left、\right 等定界符。 \mathbf{X} \left(\begin{array}{cccc}x_{11} &…

【AI】什么是大模型的偏见

目录 一、什么是大模型的偏见 二、偏见的危害 三、普通人可以做的一些偏见测试用例 1. 性别偏见测试: 2. 种族和民族偏见测试: 3. 职业偏见测试: 4. 年龄偏见测试: 5. 社会经济地位偏见测试: 6. 身体能力偏见…

Leetcode 3002. Maximum Size of a Set After Removals

Leetcode 3002. Maximum Size of a Set After Removals 1. 解题思路2. 代码实现3. 算法优化 题目链接:10037. Maximum Size of a Set After Removals 1. 解题思路 这一题的话我的思路就是分别以两个数组作为主数组,然后从中选择 n / 2 n/2 n/2个元素&…

接口限流方案

1.1 为什么要进行限流? 1.瞬时流量过高,服务被压垮? 2.恶意用户高频光顾,导致服务器宕机? 3.消息消费过快,导致数据库压力过大,性能下降甚至崩溃? 1.2 什么是限流 限流是对某一…

Zuul相关问题及到案(2024)

1、什么是Zuul?它在微服务架构中有什么作用? Zuul是Netflix开源的一种提供API网关服务的应用程序,它在微服务架构中扮演着流量的前门角色。主要功能包括以下几点: 路由转发:Zuul网关将外部请求转发到具体的微服务实例…

【Python常用函数】一文让你彻底掌握Python中的numpy.append函数

大数据时代的到来,使得很多工作都需要进行数据挖掘,从而发现更多有利的规律,或规避风险,或发现商业价值。而大数据分析的基础是学好编程语言。本文和你一起来探索Python中的append函数,让你以最短的时间明白这个函数的原理。也可以利用碎片化的时间巩固这个函数,让你在处…

高效管理文件方法:每4个文件前面加序号,4个文件后面又单独编号技巧

在日常工作中,文件管理是一项常见的任务。要更高效地管理文件,可以通过在每个文件前面加序号,并在每个序号对应的文件后面进行单独编号的方法来实现。这种方法有助于快速找到所需文件,也能提高工作效率。下面一起来看下云炫文件管…

2024出海潮,生态伙伴搭上华为HMS的“便车”?

作者 | 曾响铃 文 | 响铃说 回顾2023年,中国新能源车市场在加速内卷的同时,还诞生了一个 “超级物种”,那就是华为将车BU分拆。未来,华为智能汽车解决方案未来不仅会独立运营,还吸纳了庞大的盟友阵营,包括…

linux后台运行进程分类查看操作命令

例如需要查看所有运行的python程序进程: 执行的命令如下: ps -ef | grep python 解释: 在 UNIX 或类 UNIX 系统(如 Linux)中的作用是查找所有正在运行的与 Python 相关的进程。这个命令结合了两个常用的命令行工具…