目录
- 题目
- 思路分析
- 代码
- 实现效果
- 总结
主要内容是校设课程的习题和课外学习的一些习题。
欢迎关注 『Python习题』 系列,持续更新中
欢迎关注 『Python习题』 系列,持续更新中
题目
【题目描述】Python课程设计的作业分小组完成,规定小组成员1-3人。为体现公平,凡是单人组队的,评分可以乘1.2系数。例如:A和B同学组队,作品评分8分,则A和B同学各得8分;若C同学单独一组,作品评分8分,则C同学得8*1.2=9.6分。现有多份作业数据(包括组员和评分),请统计出每位同学的得分,并按学号升序输出。
【输入描述】第一行是一个整数n,接下去有n行,每行对应一份作业数据,先是组员的学号,末尾是作
【输出描述】按学号升序输出每位学生的学号和得分。
【输入输出样例】
思路分析
- 首先for循环接收几行数据
- 然后在for内分别处理每一行,先将一行的字符串分割成数组
- 取数组内的每个学号和数组末尾的这些人的分数装入字典
- 关键步骤:根据字典遍历得到列表(本来可以不这么写,但是因为题目是填空,你必须要领会他的思路,这是难点)
- 将列表输出出来
代码
n = int(input())
dic = {}
for i in range(n):
ls=input().split()
score =float(ls[-1])
if len(ls)==2:
score *= 1.2
for num in ls[0:-1]:
dic[num] = score
lt=[x for x in dic.items()]
lt.sort()
for k,v in lt:
print(k,"{:g}".format(v))
实现效果
总结
大家喜欢的话,给个👍,点个关注!给大家分享更多有趣好玩的Python习题!
版权声明:
发现你走远了@mzh原创作品,转载必须标注原文链接
Copyright 2022 mzh
Crated:2022-3-1
欢迎关注 『Python习题』 系列,持续更新中
欢迎关注 『Python习题』 系列,持续更新中
【更多内容敬请期待】