Python 如何计算学生在>;第25百分位<;第75百分位,按分数的递增顺序。使用下面的函数 Students=['student1'、'student2'、'student3'、'student4'、'student5'、'student6'、'student7'、'student8'、'student9'、'student10'] 分数=[45,78,12,14,48,43,47,98,35,80] def显示仪表板(学生、分数): dictionary=dict(zip(学生、分数)) #为计算前五名学生编写代码 打印(“前五名学生是:\n\n”) 对于键,排序后的值(dictionary.items(),key=lambda item:item[1],reverse=True)[:5]: 打印(“%s:%s”%(键,值)) #编写计算前五名学生的代码 打印(“\n\n排名前五的学生是:\n\n”) 对于键,排序后的值(dictionary.items(),key=lambda item:item[1])[:5]: 打印(“%s:%s”%(键,值)) #为25%到75%的学生编写代码 打印(“\n\n 25-75%范围内的学生为:\n\n”)

Python 如何计算学生在>;第25百分位<;第75百分位,按分数的递增顺序。使用下面的函数 Students=['student1'、'student2'、'student3'、'student4'、'student5'、'student6'、'student7'、'student8'、'student9'、'student10'] 分数=[45,78,12,14,48,43,47,98,35,80] def显示仪表板(学生、分数): dictionary=dict(zip(学生、分数)) #为计算前五名学生编写代码 打印(“前五名学生是:\n\n”) 对于键,排序后的值(dictionary.items(),key=lambda item:item[1],reverse=True)[:5]: 打印(“%s:%s”%(键,值)) #编写计算前五名学生的代码 打印(“\n\n排名前五的学生是:\n\n”) 对于键,排序后的值(dictionary.items(),key=lambda item:item[1])[:5]: 打印(“%s:%s”%(键,值)) #为25%到75%的学生编写代码 打印(“\n\n 25-75%范围内的学生为:\n\n”),python,Python,用于计算百分位使用:- max = max_mark min = min_mark diff = max - min pre_25 = diff*0.25 pre_75 = diff*0.75 显示仪表板(学生、分数)给出执行百分位数计算的提示 max_mark = max(marks) min_mark = min(marks) diff = max_mark - min_mark pre_25 = diff * 0.25 pre_75 = diff * 0.75 然后,

用于计算百分位使用:-

 max = max_mark

 min = min_mark

 diff = max - min

 pre_25 = diff*0.25

 pre_75 = diff*0.75

显示仪表板(学生、分数)

给出执行百分位数计算的提示

max_mark = max(marks)
min_mark = min(marks)
diff = max_mark - min_mark
pre_25 = diff * 0.25
pre_75 = diff * 0.75
然后,您可以筛选字典,只筛选与这些限制匹配的分数

within_25_75 = {
   name: score 
   for (name, score) 
   in dictionary.items() 
   if pre_25 <= score <= pre_75
}
在\u 25\u 75范围内={
姓名:score
(姓名、分数)
在dictionary.items()中

如果pre_251条线性,因为1/4为第25百分位,3/4为第75百分位

import math
[print(k[0], k[1]) for k in
 list(sorted(dictionary.items(), key=lambda item: item[1]))[math.ceil(len(Marks) / 4):math.floor(3 * len(Marks) / 4)]]

#Output
student6 43
student1 45
student7 47
student5 48
说明: 第25-75百分位是指,打印排序列表长度1/4到排序列表长度3/4之间的值


请注意,我们还使用
floor
ceil
。这是为了确保值严格介于25%和75%之间。在我看来,

看起来像是
pandas
的工作。但我假设作业不允许外部库。:@timgeb它绝对不需要pandas。它需要一个列表来理解过滤。@AKX如果百分位数已经计算出来了。@timgeb…OP的问题中有代码。@AKX是的,所以?我刚才说我会用
熊猫解决整个问题。
。但我意识到这可能是家庭作业,所以我的方法不适用。你能在写了一次之后很容易地阅读那一行吗?这很简单但是如果你在上面加一条注释。它会解释代码中发生了什么。然后它会给你带来好处,因为需要管理的代码行更少,复杂性更低。总之,对于那些喜欢写短代码(行更少)的人来说,这只是另一种风格和代码高尔夫..谢谢你的建议,但我只想找出给定的百分位程序,而不使用熊猫和numpy@pravinkamble我没有使用它们中的任何一个。代码使用纯python并导入内置的数学库。我只想通过以下过程找出百分比max=max\u mark min=min\u mark diff=max-min pre_25=diff*0.25 pre_75=diff*0.75这是与此处相同的过程,仅使用正确的变量。