Python Day9 :一个小练习
来源:互联网 发布:淘宝管制刀具的定义为 编辑:程序博客网 时间:2024/05/29 09:21
要求:先输入组数n,再输入n组姓名与分数,将姓名与分数按照姓名首字母排序,然后按相同的分数组输出,再输出分数组内的排名到底是几到几。具体要求如下图所示
源代码:
# -*- coding: utf-8 -*-"""Created on Fri Sep 22 08:43:56 2017@author: fengt"""a=eval(input(''))c=[]d={}g={}k=0for i in range(a): b=input() c.append(b.split(' ')) d[c[i][0]]=c[i][1]e=sorted(d.items(), key=lambda item:item[0])#以item[0],即d字典的key值作排序for i in range(a): if e[i][1] in g.keys():#创建一个字典f,以e列表中的分数作为key值,以相同分数的名字作为value f=[] f.append(g[e[i][1]]) f.append(e[i][0])#不能直接在value后append,否则会报错 g[e[i][1]]=f else: g[e[i][1]]=e[i][0]h=sorted(g.items(), key=lambda item:int(item[0]))#需要将分数转化为int型,否则52将排在123后面,但按照要求其实可以忽略for i in range(len(h)): if isinstance(h[i][1],list): for j in range(len(h[i][1])): print(h[i][1][j],end=' ') k=k+1 if j==0: print(k, k) else: print(k-j,k)#在这个地方耗费了太多时间,应该好好学学数据结构
输入:
7Abandond 132JulyKate 234DaveCage 132Lois 155Vera 170JohnnyCash 210JasonMraz 155
输出:
Abandond DaveCage 1 2JasonMraz Lois 3 4Vera 5 5JohnnyCash 6 6JulyKate 7 7
这是大概最简单的那道题,花了2个多小时才不停的修正改好,说不出的滋味,国庆节的假期消磨人心,
也充分认识到了自己的不足。
阅读全文
1 0
- Python Day9 :一个小练习
- Day9、Python
- Python-day9
- Python 练习册,每天一个小程序
- Python 练习册,每天一个小程序
- Python 练习册,每天一个小程序
- Python 练习册,每天一个小程序
- Day9 练习8
- python day9(20170302 )
- python学习日志--day9
- Python--day9 文件练习题
- Python 练习册,每天一个小程序(0000)
- Python 练习册,每天一个小程序(0001)
- Python 练习册,每天一个小程序(0004)
- Python 练习册,每天一个小程序(0005)
- Python 练习册,每天一个小程序(0006)
- Python 练习册,每天一个小程序(0007)
- 【转载】Python练习册,每天一个小程序
- 【LeetCode】C# 73、Set Matrix Zeroes
- 在实习的公司遇到大量的无标签数据怎么办——利用SVM进行Active Learning主动学习
- NDK 开发(二,Android.mk梳理)
- 用JavaScript写一个简单的二级联动菜单
- 如何设置Scala的ide及配置ide
- Python Day9 :一个小练习
- 【假身份证】ASCII码协助判断身份证的真假
- php 数组操作
- tensorflow mnist入门
- 将ijkplayer导入android studio并运行(附导入工程和导入module的方法)
- HP service gurde node 启动失败解决
- python学习:转义符:\
- SpringMVC框架执行原理时序图
- 素数判断方法