Python编写模拟决赛现场最终成绩计算过程

Python编写模拟决赛现场最终成绩计算过程

编写程序,模拟决赛现场最终成绩计算过程。首先输入大于 2 的整数作为评委人数,然后依次输入每个评委的打分,要求每个分数都介于 0~100.输入完成所有评委打分之后,去掉一个最高分,去掉一个最低分,剩余分数的平均分即为该选手的最终得分

本次代码运用到了异常捕获以完善整个打分系统的功能,列表的切片功能用于去除最高分和最低分(列表已经完成了排序),用函数将其封装起来

def mark(judge_number):
    temp = 0
    lst = []
    #循环结束的条件每个评委的打分都合法
    while temp < judge_number:
        #异常捕获
        while True:
            try:
                score = int(input('请评委打分: '))
                assert 0 <= score <= 100
            except (ValueError, AssertionError):
                print('请输入正确的分数!')
            else:
                break
        #将合法的分数添加到列表里面
        lst.append(score)
        temp += 1
    new_lst = sorted(lst)
    #去除最高分和最低分
    new_lst = new_lst[1:-1]
    average = sum(new_lst) / len(new_lst)
    #返回选手的最终得分
    return average


while True:
    try:
        judge_num = int(input('请输入评委的人数(>2): '))
        assert judge_num > 2
    except (ValueError, AssertionError):
        print('请输入正确的评委人数!')
    else:
        break
last = mark(judge_num)
print('选手最后得分为:', last)


以上代码纯本人想法,若有更好的想法可留言一起探讨
在这里插入图片描述

おすすめ

転載: blog.csdn.net/m0_46457323/article/details/121579772