十二届蓝桥杯Python组1月中/高级试题 第五题

**

十二届蓝桥杯Python组1月中/高级试题 第五题

**


第五题(难度系数 5,35 个计分点)
提示信息:

平均数:是指在一组数据中所有数据之和再除以这组数据的个数。
如:“1,2,3,4,5” 这组数的平均数为3.00。 (1+2+3+4+5)/ 5 = 3.00

中位数:将一组数据从大到小排序后,位置在最中间的数值。
分两种情况:当数据个数为奇数时,中位数为中间的那个数的值;

当数据个数为偶数时,中位数为中间的两个数的平均值。
如:“1,3,5,7,9 ”这组数据有5个数字,中位数为5; “1,3,5,7 ”这组数据有4个数字,中位数为4。

众数:是一组数据中出现次数最多的那个数值。
如:“1,3,5,7,9 ,9”这组数据9出现的次数最多,故众数为9。

编程实现:
给定一组正整数,然后分行输出这组正整数的平均数,中位数,众数。

输入描述:输入一组正整数并以一个英文逗号隔开

输出描述:
第一行输出平均数(保留两位小数)
第二行输出中位数(保留两位小数)
第三行输出众数(如果有多个数值出现的次数相同,则取数值最大的作为众数)

样例输入:1,3,5,7,9,9
样例输出:
5.67
6.00
9


求众数的代码理解图:
在这里插入图片描述


代码实现:

# 先完成输入字符串 输入的格式是1,3,5,7,9,9
str_1 = input()# 将字符串里面的','元素删除掉;
# 注意这里去除的格式应直接从题目中复制过来,不要自己敲上去
str_1 = str_1.split(',')# 将字符串转化为列表的形式(因为列表便于进行一些数字的查找)
list_1 = list(str_1)# 再将这些数据类型转化为int数据类型
list_1 = [int(i) for i in list_1]# 完成求平均数的输出 列表的数字总数除以列表的长度
avg = sum(list_1) / len(list_1)
# 保留两位小数值于此
print('%3.2f'%avg)# 完成中位数的输出
# 假如列表的长度是偶数,则求中间的两位数的平均数
if len(list_1) % 2 == 0:#中间两个数的坐标为a[n//2 - 1] a[(n//2)]# 注意使用取整数;具体原理可以根据只有4个数字或者5个数字,自己数一下那个下标推算出[n//2 - 1] [(n//2)]print('%3.2f'%((list_1[len(list_1) // 2 - 1] + list_1[(len(list_1) // 2)]) / 2))
else:# 当是属于奇数的情况,直接输出(值得注意的是 列表的数据索引是从0开始的)print('%3.2f'%(list_1[len(list_1) // 2]))# 完成众数的输出
# 这里我将不使用便捷的函数调用,我希望使用利用自己构建代码求出,一味的使用函数,只会让自己的大脑懒惰
# 创建一个列表,其下标就是对应的数字,然后这个下标对应列表的值就是 数字出现的次数
list_lable = [int(0)] * (max(list_1) + 1)for i in range(0, len(list_1)):# 这个数字出现,然后记录的列表根据这个数字的下标进行+1的操作list_lable[list_1[i]] += 1# 计算出记录列表中的值,当其下标对应的数字越大,证明这个下标就是出现最多次数的数字(众数)
lable = max(list_lable)# 记录出现次数最多的值对应的下标
max_dizhi = len(list_lable) - 1# 从后面进行遍历如何再打断的操作是完成题目的要求:第三行输出众数(如果有多个数值出现的次数相同,则取数值最大的作为众数)
for i in range(len(list_lable) - 1, -1, -1):if list_lable[i] == lable:print(max_dizhi)break# 这个需要放到最后 完成检测再进行下标减少max_dizhi = max_dizhi - 1

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

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

相关文章

【C++】学习笔记——优先级队列

文章目录 十、优先级队列1. priority_queue的介绍2. 优先级队列如何使小的数据优先级高3. 仿函数介绍4. priority_queue的模拟实现 补: 反向迭代器未完待续 十、优先级队列 1. priority_queue的介绍 优先级队列 其实也不属于队列,它跟 stack 和 queue …

搜索的未来:OpenAI 的 GPT 如何彻底改变行业

搜索的未来:OpenAI 的 GPT 如何彻底改变行业 概述 搜索引擎格局正处于一场革命的风口浪尖,而 OpenAI 的 GPT 处于这场变革的最前沿。最近出现了一种被称为“im-good-gpt-2-chatbot”的神秘聊天机器人,以及基于 ChatGPT 的搜索引擎的传言&am…

Python 机器学习 基础 之 构建第一个机器学习应用

Python 机器学习 基础 之 构建第一个机器学习应用 目录 Python 机器学习 基础 之 构建第一个机器学习应用 一、简单介绍 二、第一个机器学习测试应用介绍:鸢尾花分类 三、第一个机器学习测试应用 :前置环境,知识点介绍 jupyter notebo…

(九)JSP教程——pageContext对象

pageContext对象是由JSP容器创建并初始化的,相当于当前页面的容器,它可以访问当前页面中的所有对象。它的主要作用是为JSP页面包装上下文,并用于管理属于JSP的特殊可见部分中已命名对象的访问。 一般情况下,使用该对象的应用并不多…

GAMMA Lab——知识图谱和LLM大模型

图机器学习的发展与分类 图基础模型 LLM基础模型 GNN LLM 前沿工作

4.nginx.pid打开失败以及失效的解决方案

一. nginx.pid打开失败以及失效的解决方案 1.错误图片: 2.解决方法 步骤1:进入这个目录 /var/run/nginx,提示没有文件或目录,则使用mkdir创建这个目录。 步骤2:然后 ./nginx -s reload 运行,是一个无效的PID 步骤3:使…

java中的oop(一)、概念

一、三大主线 (非官方) 成员:属性、方法、构造器、(代码块,内部类); 特征:封装、继承、多态、(抽象)——三大特征; 关键字: this、…

智慧公厕解决什么问题?实现了什么样的价值?

公共厕所一直是城市管理的难题,常常面临着卫生条件不佳、管理不善以及使用体验差等问题。为了解决这些困扰城市的难题,智慧公厕应运而生。智慧公厕不仅应用了信息化和数字化技术,还通过全方位的智能化应用,彻底改变了传统公厕的面…

富士Apeos 2350 NDA复印机报062 360代码故障

故障描述: 富士Apeos 2350 NDA复印机新机器刚拆箱安装,开机正常,自检扫描头一卡一卡的往前动几下就不动了、扫描灯也不亮扫描头也不能正常复位;按机器的复印键直接报062 360代码; 解答: 此代码为扫描故障&a…

Oracle -在线回缩表

conn scott/tiger DROP TABLE EMP1 PURGE; CREATE TABLE EMP1 AS SELECT * FROM EMP; alter table emp1 enable row movement; -- 启动回缩特性 insert into emp1 select * from emp1; / / commit; -- 增加到14000行 -- 分析表的结构 analyze table emp1 comput…

【文化课学习笔记】【物理】功与能

【物理】功与能 功 基础概念 定义 一个物体在力的作用下,沿力的方向,通过一段距离(位移),则称这个力做了功。 公式 功的定义式: \[W Fx \] 这里的 \(x\) 指的是物体沿力的方向上发生的位移。由于力 \(F\) 和位移 \(x\) 都是矢量&…

20240510每日后端---聊聊文件预览,doc,image,ppt转PDF预览

一、引入依赖 <dependency><groupId>com.aspose</groupId><artifactId>aspose-words</artifactId><version>15.8</version></dependency><dependency><groupId>com.aspose</groupId><artifactId>crac…