其他分享
首页 > 其他分享> > 期末测试——处理10名选手,12名评委打分成绩——2020.12.15

期末测试——处理10名选手,12名评委打分成绩——2020.12.15

作者:互联网

期末测试

一丶试题题目

(一)试题要求
1、完成以下程序的设计:某体操比赛共有10名运动员参加,12名评委将根据运动员表现进行评分(满分10分),请编写Python程序,解决下列问题:
1)每个运动员评分中去掉一个最高分和一个最低分,计算平均成绩,然后给出运动员排名;
2)尽量减少人为因素,组委会要求去掉第一个问题中打最高分或最低分次数排名前二的评委给每个运动员的评分,然后计算平均成绩后排名。
(二)测试数据,保存本地txt文件
8.9 9.3 7.9 9.0 8.8 6.5 8.4 6.6 8.2 9.1 9.2 8.8
9.0 7.8 8.7 8.9 9.0 7.6 8.1 6.5 9.6 7.7 6.9 7.5
5.8 7.4 5.3 7.3 9.1 7.9 6.7 6.8 7.8 8.0 7.6 8.1
9.0 7.9 8.3 9.2 7.8 9.2 6.4 6.9 5.8 7.7 8.2 9.0
9.0 8.6 6.9 7.5 5.8 8.6 7.4 6.8 8.4 7.8 9.2 6.7
7.5 9.7 8.9 9.6 7.8 6.5 7.1 8.0 6.6 8.0 8.5 8.9
8.7 7.9 8.8 9.2 7.6 9.1 6.8 9.0 7.8 9.4 8.3 9.2
8.9 7.8 8.7 8.6 8.5 7.4 6.5 9.4 7.7 8.9 6.9 8.4
7.8 8.5 7.6 6.6 8.7 7.8 9.5 7.8 9.9 7.3 8.9 7.7
8.9 7.9 8.8 9.0 7.9 9.2 8.7 8.7 8.9 7.9 8.7 7.7

二丶试题代码

# 项目名称:
# 项目简介:
# 作   者:key
# 开发时间:2020/12/15 19:28

"""
3. 从文件中取出12个裁判员为10个运动员大的分数,
2).尽量减少人为因素,组委会要求去掉第一个问题中打最高分或最低分次数排名前二的评委给每个运动员的评分,然后计算平均成绩后排名。
"""
from collections import Counter
import copy
import numpy as np

# 为了减少失误,这里采用全局变量
fpath = "C:/Users/Lenovo/Desktop/dafen.txt"
# fpath = "C:/Users/Administrator/Desktop/dafen.txt"
judge = [x for x in range(1, 13)]
maxl = []  # 储存打最高分的评委的次数
minl = []  # 存储打最低分的评委的次数
player = []  # 原始成绩数据
num = ['一','二','三','四','五','六','七','八','九','十']
# 设置样式
strx = '-----------------------------------------------------------------------------------------------'
str1 = '------------------------------去掉最高分和最低分计算平均分-降序--------------------------------------'
str2 = '------------------------------去掉打最高最低分次数最多的前2位评委-计算平均分-降序-----------------------'
str3 = '------------------------------显示打最高分次数的评委-----------------------------------------------'
str4 = '------------------------------显示打最低分次数的评委-----------------------------------------------'


with open(fpath, 'r') as f:

def maxminJudge(maxmin):

def showMax(maxl):

def showMin(minl):

def questionOne():

def questionTwo(ll):



def showMeau():
    print('-----------------------------------------------------------------------------------------------')
    print("0:退出系统                1:功能一              2:功能二               3.功能三             4.功能三")
    print('                           功能一:删除最高分和最低分,计算平均分,降序排序                             ')
    print('                           功能二:删除最高分最低分次数前2的评委,计算平均分,降序排序                    ')
    print('                           功能三:显示打最高分次数的评委                                            ')
    print('                           功能四:显示打最低分次数的评委                                            ')
    print('                                       申明:功能三丶四为附加功能                                   ')
    print('-----------------------------------------------------------------------------------------------')


def main():
    # 设置判定条件
    isgo = 'Y'
    while isgo == 'y' or isgo == 'Y':
        showMeau()
        print("您的选择是:", end=' ')
        choice = int(input())
        if choice == 1:
            questionOne()
            isgo = input('\nY返回菜单/N退出系统')
        elif choice == 2:
            questionTwo(maxminJudge(maxl+minl))
            isgo = input('\nY返回菜单/N退出系统')
        elif choice == 3:
            showMax(maxl)
            isgo = input('\nY返回菜单/N退出系统')
        elif choice == 4:
            showMin(minl)
            isgo = input('\nY返回菜单/N退出系统')
        else:
            isgo = 'N'


if __name__ == '__main__':
     main()

三丶运行结果

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

——山重水复疑无路,柳暗花明又一村——

标签:10,12,15,8.9,最高分,print,7.8,9.0,评委
来源: https://blog.csdn.net/weixin_43402353/article/details/111238744