|
发表于 2019-11-29 17:07:32
|
显示全部楼层
代码如下:
- #!/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)
复制代码
结果于实例一样:
|
-
单词评分运行结果
|