从列表中删除最小值并转换为元组

2024-09-30 12:28:29 发布

您现在位置:Python中文网/ 问答频道 /正文

这是我收集学生分数列表的代码。在平均分数之前,程序将删除最小值列表。但是,在去掉最小值并求平均值之后。计算仍然与删除的最小值一起计算。我如何修复它

def student_scores():

    students_scores = []
    scores = ''
    while scores != 0:
            scores = int(input('Enter your scores or 0 to end: '))
            if scores != 0:
                students_scores.append(scores)
    return students_scores



def compute_total(gradelist):

    tot = int()
    for num in gradelist:
        tot += num
    return tot

def drop_lowest(scores):

    scores.remove(min(scores))
    scores2 = []
    scores2.extend(scores)

    least = tuple(scores2)

    return least

def get_mean(lowest,scores):

    mean = lowest / len(scores)
    return mean


def main():

    scores = student_scores()
    total = compute_total(scores)
    lowest = drop_lowest(scores)
    average = get_mean(total,scores)


    print('Scores with lowest score is now removed', lowest)
    print('The mean is: ', average)

main()

Tags: 列表returndefmeanstudent分数inttotal
1条回答
网友
1楼 · 发布于 2024-09-30 12:28:29

目前,您的代码首先获取一个分数列表,找到所有分数的总和,创建一个没有最低分数的列表,然后计算所有原始分数的总和/原始分数的数量

如果您想在不取最低分数的情况下找到分数的平均值,请将主选项更改为:

scores = student_scores()
lowest = drop_lowest(scores)
total = compute_total(lowest)
average = get_mean(total,lowest)

这将给你所有分数的平均值,没有最低分

希望有帮助

相关问题 更多 >

    热门问题