鱼C论坛

 找回密码
 立即注册
123
返回列表 发新帖
楼主: 冬雪雪冬

[技术交流] Python:每日一题 94(答题领鱼币)

[复制链接]
发表于 2019-3-6 12:38:16 | 显示全部楼层
def fun94(list1):
    score = sorted(list1,key=lambda x:x[1],reverse=True)
    count = 1
    print("{}  {}  {}".format(count,score[0][0],score[0][1]))
    for each in range(1,len(score)):
        if score[each][1] != score[each - 1][1]:
            count += 1
        print("{}  {}  {}".format(count,score[each][0],score[each][1]))






score = [('A', 80), ('B', 86), ('C', 92), ('D', 87), ('E', 88), ('F', 85),
         ('G', 86), ('H', 89), ('I', 88), ('J', 94), ('K', 94), ('L', 80),
         ('M', 83), ('N', 80), ('O', 88), ('P', 94), ('Q', 82), ('R', 84),
         ('S', 96), ('T', 100), ('U', 82), ('V', 81), ('W', 94), ('X', 81),
         ('Y', 89), ('Z', 92)]

print(fun94(score))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-19 14:15:58 | 显示全部楼层
def f_94(lst: list):
    lst.sort(key=lambda x: (x[1], -ord(x[0])), reverse=True)
    for i, j in enumerate(lst):
        rank = i if j[1] == lst[i-1][1] else i+1
        print(rank, j[0], j[1])
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-6 10:55:27 | 显示全部楼层
def fun94(s):
    sorted_s = sorted(list(set([x[1] for x in s])))[::-1]
    for i in sorted_s:
        for j in s:
            if j[1] == i:
                print('%s %s %s'%(sorted_s.index(i)+1,j[0],j[1]))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-6 11:13:52 | 显示全部楼层
score = [('A', 80), ('B', 86), ('C', 92), ('D', 87), ('E', 88), ('F', 85),
         ('G', 86), ('H', 89), ('I', 88), ('J', 94), ('K', 94), ('L', 80),
         ('M', 83), ('N', 80), ('O', 88), ('P', 94), ('Q', 82), ('R', 84),
         ('S', 96), ('T', 100), ('U', 82), ('V', 81), ('W', 94), ('X', 81),
         ('Y', 89), ('Z', 92)]
score = sorted(score,key=lambda x:x[1])[::-1]
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-1 17:25:07 | 显示全部楼层
def order(score):
    # 将列表按成绩降序排序
    score = sorted(score, key=lambda x: x[1], reverse=True)
    # 当前名次以及上一位同学的名次
    rank, last_rank = 1, 0
    # 上一位同学的成绩
    last_score = 120
    # 最终的排名结果
    results = []
    for each in score:
        # 判断当前同学成绩是否跟上一位同学相等
        if each[1] != last_score:
            # 若不等,排到新的名次
            results.append((rank, each[0], each[1]))
            last_rank = rank
            last_score = each[1]
            rank += 1
        else:
            # 若相等,跟上一位同学一样名次
            results.append((last_rank, each[0], each[1]))
            rank += 1
    # 循环打印排名
    for info in results:
        print(info[0], info[1], info[2])
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-8 12:00:43 | 显示全部楼层
1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-8-20 23:57:17 | 显示全部楼层
看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-8-21 16:02:05 | 显示全部楼层
def chooseSecond(element):
    return element[1]    
def score():
    score = [('A', 80), ('B', 86), ('C', 92), ('D', 87), ('E', 88), ('F', 85),
             ('G', 86), ('H', 89), ('I', 88), ('J', 94), ('K', 94), ('L', 80),
             ('M', 83), ('N', 80), ('O', 88), ('P', 94), ('Q', 82), ('R', 84),
             ('S', 96), ('T', 100), ('U', 82), ('V', 81), ('W', 94), ('X', 81),
             ('Y', 89), ('Z', 92)]
    j = 0
    score.sort(key=chooseSecond,reverse = True)
    for i in range(0,len(score)):
        if i>0:
            if score[i-1][1] == score[i][1]:
                j += 1
            else:
                j = 0
            print(str(i-j+1)+' '+score[i][0]+' '+str(score[i][1]))
        else:
            print(str(i+1)+' '+score[i][0]+' '+str(score[i][1]))

if __name__ == '__main__':
    score()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-22 02:04:44 From FishC Mobile | 显示全部楼层
看答案
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-12-8 08:57:26 | 显示全部楼层
学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-4-19 07:23:25 From FishC Mobile | 显示全部楼层
看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-4-19 07:26:09 From FishC Mobile | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-23 01:48

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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