当前位置: 首页> 科技> 互联网 > python-随机序列(赛氪OJ)

python-随机序列(赛氪OJ)

时间:2025/7/11 15:15:32来源:https://blog.csdn.net/2401_83954530/article/details/141528036 浏览次数:2次

[题目描述]
小理的作业太多了,怎么也做不完。
小理的数学作业由 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]的极差和方差,并打印原极差和保留三位有效数字的方差。


运行效果展示:

9f213e4476894ae5955a39233e7ccdbc.jpg

19dfee54e3474dda916e4045642dd243.jpg 

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

关键字:python-随机序列(赛氪OJ)

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: