鱼C论坛

 找回密码
 立即注册
查看: 2899|回复: 1

请教大神,希望能多写点注释~~

[复制链接]
发表于 2019-11-28 18:57:12 | 显示全部楼层 |阅读模式
5鱼币
大家一起在学习单词时,会对学习的单词评分,评分越高,单词越难。现在每个人都对10个单词评分,不同的人可能对同一个单词评分,求最简单的单词。最简单的单词必须被评过分。如果单词被多个人评分,它的综合评分是这些评分的平均数,最后求的是综合评分最小的单词。不会出现多个最简单单词。提示:请用字典实现。
输入:(注意,所有的input()语句均不要带提示信息。)
第一行team,表示有team组数据。
对于每组数据:
第一行num,表示有num个人。
接下来输入num*10行,每一行有一个单词,一个整数(表示评分),由空格隔开。
输出:
对于每组数据,输出最简单的单词。
测试程序时,样例输入与样例输出请见作业附件“04_作业9-素材.txt”文件中的相关内容。即:运行程序后,将输入样例的内容拷贝到输入位置(注意拷贝时,光标要定位在最后一行内容的下一行空白行的首部),程序运行结果为输出样例的内容,则程序运行通过。


3.找最简单的单词。输入样例与输出样例:
输入样例:
2
2
ability 10
able 1
about 2
above 3
abroad 4
absent 5
accent 6
accept 7
accident 8
accord 9
apple 2
able 10
about 4
above 5
abroad 3
absent 5
accent 6
accept 7
accident 8
accord 9
1
ability 10
able 1
about 2
above 3
abroad 4
absent 5
accent 6
accept 7
accident 8
accord 9

样例输出
apple
able

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 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)

结果于实例一样:

单词评分运行结果

单词评分运行结果
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-12 18:54

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表