代码如下:#!/usr/bin/python3
# -*- coding: utf-8 -*-
# @Time : 2019/11/7 15:12
# Author : PC加班狗
# @Software: PyCharm
# 定义小组的输入,取整数用来循环
team = int(input())
# 建立1个列表存放循环后每个小组产生的最小得分单词,用于后面的打印
team_result = []
# 对每个小组进行循环
for a in range(0, team):
# 需要输入人数,并建立1个字典来存放单词对应打分的情况
num = int(input())
disk = {}
# 对每个单词打分,1人打10次
for i in range(0, num*10):
# 设置1个计数器flag,设置输入的单词与评分按空格拆分成k,v
flag = 1
k, v = input().split()
# k做键,v做值
# 如果k单词已经存放在了字典中,计数器+1,k对应的评分v重新赋值
if k in disk:
flag += 1
# v重新赋值为原有v值加现有v值的和除以计数器,得平均数,更新字典
disk[k] = (disk[k] + float(v)) / flag
# 如果是新单词k,则将单词与评分对应放入字典
else:
disk[k] = float(v)
# 用min函数求得字典中值最小的对应键key,即评分平均分最小的单词,存入定义好的列表
min_word = min(disk.items(), key=lambda x: x[1])[0]
team_result.append(min_word)
# 打印每个小组的结果
for each in team_result:
print(each)
结果于实例一样:
|