派森 #P121. 序列统计

描述

将用户输入的多个数值(以输入为空结束)存放至列表中,并完成以下统计计算: 1、计算所有数的最大值,最小值,平均值; 2、计算中位数,中位数:在一个有序数列中位于中件位置的数,若数据个数为偶数时,中位数为中间两个数值的平均值,保持两位小数精度。

样例

输入

5.28 9.98 64.58 14.97 39.23 33.23 9.64 47.82 11.19 78.73

输出

最大值:78.73,最小值:5.28,平均值:31.46,中位数:24.10

代码:

lst = []
s = input().split(' ')
for x in s:lst.append(float(x))
length = len(lst)
max_num = max(lst)
min_num = min(lst)
avg_num = sum(lst) / length
lst.sort()
if length % 2 == 0:mid_num = (lst[length // 2 - 1] + lst[length // 2]) / 2
else:mid_num = lst[length // 2]
print(f"最大值:{max_num}",end=',')
print(f"最小值:{min_num}",end=',')
print("平均值:%.2f" % avg_num,end=',')
print("中位数:%.2f" % mid_num,end='')
# 法二
numbers = []
while True:user_input = input("请输入一个数值(输入为空结束):")if user_input == "":breaknumber = float(user_input)numbers.append(number)# 计算最大值、最小值和平均值
max_value = max(numbers)
min_value = min(numbers)
average = sum(numbers) / len(numbers)# 计算中位数
sorted_numbers = sorted(numbers)
median = 0
if len(sorted_numbers) % 2 == 0:  # 数据个数为偶数mid_right = len(sorted_numbers) // 2mid_left = mid_right - 1median = (sorted_numbers[mid_left] + sorted_numbers[mid_right]) / 2
else:  # 数据个数为奇数mid = len(sorted_numbers) // 2median = sorted_numbers[mid]# 打印结果
print("最大值:", max_value)
print("最小值:", min_value)
print("平均值:", '{:.2f}'.format(average))
print("中位数:", '{:.2f}'.format(median))

代码解析:

lst = []
s = input().split(' ')
for x in s:lst.append(float(x))
  • 创建空列表lst用于存储数值。
  • 使用input()函数获取用户输入,通过split(' ')将输入字符串按空格切分成多个部分,并将它们存储在列表s中。
  • 遍历列表s,将每个元素转换为浮点型数据,并添加到lst列表中。
length = len(lst)
max_num = max(lst)
min_num = min(lst)
avg_num = sum(lst) / length
  • 使用len(lst)获取列表lst的长度,并将其存储在变量length中。
  • 使用max(lst)min(lst)函数分别找出列表lst中的最大值和最小值,并将它们分别存储在变量max_nummin_num中。
  • 使用sum(lst)计算列表lst中所有数的总和,除以length得到平均值,并将其存储在变量avg_num中。
lst.sort()
if length % 2 == 0:mid_num = (lst[length // 2 - 1] + lst[length // 2]) / 2
else:mid_num = lst[length // 2]
  • 使用sort()方法对lst列表进行排序,将其按升序排列。
  • 使用length % 2 == 0判断列表长度是否为偶数。如果是偶数,执行if语句块。
  • 如果列表长度是偶数,计算中位数。将列表中位于length // 2 - 1length // 2位置上的两个数相加,并除以2得到中位数;将结果存储在变量mid_num中。
  • 如果列表长度是奇数,中位数直接取lst[length // 2]的值,并将其存储在变量mid_num中。
print(f"最大值:{max_num}",end=',')
print(f"最小值:{min_num}",end=',')
print("平均值:%.2f" % avg_num,end=',')
print("中位数:%.2f" % mid_num,end='')
  • 使用格式化字符串打印最大值、最小值、平均值和中位数。
  • 通过f"最大值:{max_num}"格式打印最大值,并使用end=','指定末尾不换行。
  • 类似地,打印最小值、平均值和中位数,并使用逗号作为分隔符。
  • 在最后一个print语句中,不使用逗号作为分隔符,所以不添加end=','

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

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

相关文章

qt初入门0:结构体中QString用memset导致崩溃分析及QLatin1String简单查看源码

初识Qt,进行开发时遇到一个崩溃问题 简单整理 1:问题描述如下,结构体中QString成员,然后对结构体调用了memset导致问题: 2:问题分析,加断点调试的方式可以明确分析到行数 可以明确看出,初始化…

Windows下问题定位

1、内存相关知识点; 1)windows下32位进程,用户态为2G内存,内核态也为2G内存;却别于linux操作系统; 备注:可以通过命令行与管理员权限,启动3G的用户态空间,但是部…

Java 下载压缩zip

Java压缩zip /*** 下载压缩包** param instId 实例id* param response 响应* author 梁伟浩* date 2023-08-21*/GetMapping("/downloadZip")ApiOperation(value "下载压缩包")ApiImplicitParam(name "instId", value "实例id", r…

git权限问题解决方法Access denied fatal: Authentication failed

文章目录 遇到Access denied 的权限问题解决方法1、git的密码修改过,但是本地没更新。2、确定问题,然后增加配置① 查询用户信息②如果名称和email不对,设置名称:③ 检查ssh-add是否链接正常④ 设置不要每次都输入用户名密码 3、配…

6.小程序api分类

事件监听 以on开头,监听某个事件触发,例如:wx.WindowResize事件 同步 以Sync结尾的是同步,可以通过函数返回值直接获取,例如:wx.setStorageSync 异步 需要通过函数接收调用结果,例如&#…

mysql 数据类型

目录 数值类型 整数 tinyint 位类型 BIT(M) 浮点类型 float [(M, D)] [UNSIGNED] DECIMAL(M, D) [UNSIGNED] 二进制类型 字符型 CHAR(SIZE) VARCHAR(SIZE) 日期类型 DATE/DATETIME/TIMESTAMP string 类型 SET & ENUM 在前面的文章中,有时候茶树数…

【校招VIP】CSS校招考点之选择器优先级

考点介绍: 选择器是CSS的基础,也是校招中的高频考点,特别是复合选择器的执行优先级,同时也是实战中样式不生效的跟踪依据。 因为选择器的种类较多,很难直接记忆,可以考虑选择一个相对值,比如id类…

人大进仓数据库ksql命令基础

测试环境信息: 系统为银河麒麟V10 数据库为Kingbase ES V8 数据库安装目录为/opt/Kingbase/ES/V8 ksql命令位于/opt/Kingbase/ES/V8/Server/bin下 使用--help获取帮助 续上图 1.查看数据库列表 ./ksql -U system -l 2.查看数据库版本 ./ksql -V 3.连接指定的数据库tes…

如何写一个简单的dockerfile

Dockerfile 是一种文本文档,它包含了一组用户可以调用以创建镜像的指令。用户可以使用 docker build 命令,根据 Dockerfile 中定义的步骤,自动构建出一个新的 Docker 镜像。 以下是一些常用的 Dockerfile 指令: FROM&#xff1a…

python 条件编译如何写

在Python中,条件编译通常是通过预处理指令来实现的。与其他编程语言不同,Python没有像C或C那样的预处理器,但您可以使用一些技巧来模拟条件编译的效果。以下是一种在Python中模拟条件编译的常见方法: # 定义一个条件变量&#xf…

springboot使用mybatis配置多数据源

概述 配置多数据源有两种方案。一种是使用dynamic依赖的DS注解的方法,这种是比较简单方便的方法。另一种是本文介绍的方式,配置不同数据源的SqlSessionFactory 。 第二种方法是我在开发一个老项目时,老项目配置的方法。 application.xml s…

投资人热捧的创业大赛,有哪些AI原生应用值得关注?

“绝对远超全球同类产品”,一位大模型创业者对百度文心一言的表现不吝夸奖。 这是一家生产效率工具创业公司的负责人,今年5月百度发起大模型领域创业比赛——“文心杯”,他率先报名参赛并入选决赛文心创业营,目前与其他30多家入围…

【GAMES202】Real-Time Shadows2—实时阴影2

一、PCSS回顾 上一篇我们说了如何用PCSS是实现软阴影,这个过程是没有任何问题的,但是有一个速度的问题,因为PCSS涉及到非常多次对纹理特定某一块区域遍历的操作(工业界一般都是用在该区域采样的方式,会因此产生噪声&am…

常见gis几何格式(wkt、geojson、arcgis json)的转换方法

1.相关链接 https://github.com/terraformer-js/terraformer 2.arcgis geometry json与geojson互转 Convert ArcGIS JSON geometries to GeoJSON geometries and vice versa. npm install terraformer/arcgis (1)arcgis geometry json转换成geojson格…

Zookeeper集群单节点启动成功但未同步其他节点数据

首先排查节点启动是否正常: 在zookeeper的bin目录下执行:sh zkServer.sh status 判断当前节点数据leader 还是follower 节点都启动正常,但某一个zookeeper集群节点(下面简称“异常节点”)不同步其他节点数据&#xf…

SQL-每日一题【1321. 餐馆营业额变化增长】

题目 表: Customer 你是餐馆的老板,现在你想分析一下可能的营业额变化增长(每天至少有一位顾客)。 计算以 7 天(某日期 该日期前的 6 天)为一个时间段的顾客消费平均值。average_amount 要 保留两位小数。 结果按 …

最新两年工作经验总结

最新两年工作经验总结 前言URP的使用1:如何开启URP1、老项目升级为URP2、创建新项目时选择URP创建 2:URP阴影的设置 PolyBrush的使用(地图编辑插件)制作山峰or低谷边缘柔化雨刷上色制造场景中的物体贴图地形创建容易踩坑的点ProBu…

飞天使-k8sv1.14二进制安装

文章目录 安装前准备安装前设置分发脚本 开始安装k8s集群cfssl 安装部署kubectl命令行工具创建admin证书和私钥创建kubeconfig文件部署ETCD集群部署Flannel网络kube-apiserver 高可用KeepLived 部署部署master节点部署高可用kube-controller-manager集群kube-controller-manage…

C++ namespace对全局变量屏蔽的工程化意义解读

namespace解决了什么&#xff1f; 解决了变量的跨域访问问题C解决了C语言不能访问全局变量的问题 #include<iostream> using namespace std;namespace glo{ int global 50; }int main(int argc, char *argv[]) {int global 20;std::cout << global << en…

java 工程管理系统源码+项目说明+功能描述+前后端分离 + 二次开发 em

Java版工程项目管理系统 Spring CloudSpring BootMybatisVueElementUI前后端分离 功能清单如下&#xff1a; 首页 工作台&#xff1a;待办工作、消息通知、预警信息&#xff0c;点击可进入相应的列表 项目进度图表&#xff1a;选择&#xff08;总体或单个&#xff09;项目显…