python-随机序列(赛氪OJ)

[题目描述]

小理的作业太多了,怎么也做不完。

小理的数学作业由 T 张试卷组成,每张试卷上有 n 个数 a1..n​ ,小理需要算出这些数的极差和方差。极差是一个整数,方差是一个浮点数,要求保留到小数点后 3 位。虽然题目很简单,但计算量对于小理来说实在太大啦!你能帮一帮她吗?
输入格式:

输入的第一行有一个数 T ,表示试卷的数量;接下来的每 2 行,第一行有一个数 n ,表示当前试卷上数字的个数;第二行有 n 个数字ai​ ,表示这张试卷上的每一个数。
输出格式:

对每张试卷,输出一行两个数,分别表示这些数字的极差和方差,中间用空格分开。其中极差是整数,方差是保留到小数点后 3 位的浮点数。
样例输入

2

5

5 4 3 2 1

7

333 494 655 991 101 591 941
样例输出

4 2.000

890 86075.959
数据范围:

对于 100% 的数据,保证 1≤T≤100 ,1≤n≤103 ,1≤ai​≤5000。
提示说明:

一个数列的极差是指数列中最大的数减去最小的数,方差是指算出数列中每个数与数列平均值之差的平方后,对其求和,再除以数列元素个数得到的结果。

来源/分类(难度系数:二星数组 循环结构 模拟

++完整代码展示:++

number=int(input())

list_1=[]

for i in range(number):

n=int(input())

ai=list(map(int,input().split()))

list_1.append(ai)

a=0

while a<len(list_1):

b=int(max(list_1[a])-min(list_1[a]))

average=sum(list_1[a])/len(list_1[a])

sum_2=0

for j in range(0,len(list_1[a])):

sum_2+=(list_1[a][j]-average)**2

c="{:.3f}".format(sum_2/len(list_1[a]))

print(b,c)

a+=1

代码解释:

"number=int(input()) ",让用户输入试卷的张数number。

"list_1=[]
for i in range(number):
n=int(input())
ai=list(map(int,input().split()))
list_1.append(ai)
",建立一个空列表list_1,循环number次:让用户输入该张试卷上的字数,接着让用户输入每个代表字的数字,并将其储存在列表ai中,将ai添加进list_1中。

"a=0
while a<len(list_1):
b=int(max(list_1[a])-min(list_1[a]))
average=sum(list_1[a])/len(list_1[a])
sum_2=0
for j in range(0,len(list_1[a])):
sum_2+=(list_1[a][j]-average)**2
c="{:.3f}".format(sum_2/len(list_1[a]))
print(b,c)
a+=1
",令循环密码子为a,初始值为0,接着遍历历list_1中元素,按照极差和方差的定义分别求出list_1[a]的极差和方差,并打印原极差和保留三位有效数字的方差。

++运行效果展示:++

++++

(声明:以上内容均为原创)

相关推荐
czhc11400756633 分钟前
Java117 最长公共前缀
java·数据结构·算法
java 乐山6 分钟前
蓝牙网关(备份)
linux·网络·算法
川石课堂软件测试9 分钟前
Python | 高阶函数基本应用及Decorator装饰器
android·开发语言·数据库·python·功能测试·mysql·单元测试
云泽80813 分钟前
快速排序算法详解:hoare、挖坑法、lomuto前后指针与非递归实现
算法·排序算法
数字化脑洞实验室14 分钟前
智能决策算法的核心原理是什么?
人工智能·算法·机器学习
流烟默14 分钟前
机器学习中拟合、欠拟合、过拟合是什么
人工智能·算法·机器学习
Brianna Home15 分钟前
现代C++:从性能泥潭到AI基石
开发语言·c++·算法
再卷也是菜17 分钟前
算法基础篇(10)递归型枚举与回溯剪枝
算法·深度优先·剪枝
吃着火锅x唱着歌23 分钟前
LeetCode 2016.增量元素之间的最大差值
数据结构·算法·leetcode
qq192572302731 分钟前
c++特性
开发语言·c++·算法