返回

python——计算子列表中5个值中前四个int值的平均值。(2个值相同)

发布时间:2022-02-22 03:58:04 295

鉴于以下情况列表:

student_marks = [['Name',  ['A','B','C','D','E']],
                 ['Ankit',  [41, 34, 45, 55, 63]],
                 ['Aravind',[42, 23, 34, 44, 53]],
                 ['Lakshay',[32, 23, 13, 54, 67]],
                 ['Gyan',   [23, 82, 23, 63, 34]],
                 ['Pranav', [21, 23, 25, 56, 56]]
                ]

如果考虑一个学生的前四个科目,我会试图找出得分最高的科目(前四个科目的平均分)。我们需要比较每个学生的平均前四分,找出谁的分数最高。

我就是这么做的:

best_four_marks = []


for i in student_marks[1:]:
    student_name = i[0]
    count_1 = 0
    summ_1 = 0
    for j in i[1]:
        if j > min(i[1]):
            count_1 += 1
            summ_1 += j
    avg = summ_1/count_1
    best_four_marks.append([avg,student_name])

这里的问题是,其中一个学生,即Gyan有两个相同的值,即科目A和科目C的23分。我已指示编译器忽略最差的分数,以计算每个学生的前4个科目百分比。在Gyan的迭代中,它完全忽略了5个受试者中最低的2个值。我想包括其中一个,因为我们需要排名前四的科目的百分比。

期待您的反馈!谢谢

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(1)
按点赞数排序
用户头像
相关帖子
下一篇
带有haskell的k维Ord类型类 2022-02-22 02:51:35