python基础编程⼩实例12——⽐赛票数排序(初级)编程语⾔:python3.9
题⽬
⽐赛采⽤计票机制,选⼿获得的票数越多,排名就越靠前。 本实例要求编写程序,接收选⼿的姓名和票数,输出排序后的成绩。
本题基于还没有学到如何使⽤python打开⽂件的操作,所以使⽤列表的⽅式展⽰票数情况。
代码
ticket = ['⼩刚','⼩红','⼩红','⼩明','⼩明',\
'⼩红','⼩红','⼩红','⼩刚','⼩刚',\
'⼩明','⼩刚','⼩明','⼩红','⼩红',\
'⼩明','⼩明','⼩刚','⼩红','⼩红',\
'⼩刚','⼩刚','⼩刚','⼩明','⼩明',\
'⼩刚','⼩刚','⼩明','⼩明','⼩明']
# 语句过长可⽤\作续⾏符
python菜鸟教程文档d={}
for name in ticket:
d[name] = d.get(name,0)+1  # 如果没有该选⼿姓名,则新建⼀个以其姓名为key的字典元素并+1
lst = list(d.items())
lst.sort(key = lambda x:x[1], reverse = True) # 根据票数多少降序排列
for i in range(len(lst)):
print('{}:{}'.format(lst[i][0],lst[i][1]))
运⾏结果
代码解析
<(key, default = None) :
key ——字典中要查的键
default ——如果指定的值不存在,返回该默认值
lambda函数:(下图引⽤⾃菜鸟教程)
list.sort(key = None, reverse = False)函数:
key ——为指定可迭代对象中的⼀个元素来进⾏排序。
reverse —— 排列规则,True为降序,即从⼤到⼩;False为升序,即从⼩到⼤。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。