需求:1.学生成绩降序排列;2.按成绩蛇型分班,如第1名放1班,第2名放2班,以此类推;3.python代码
时间: 2023-12-15 11:06:49 浏览: 79
以下是实现上述需求的 Python 代码:
```
# 定义学生列表
students = [
{"name": "张三", "score": 85},
{"name": "李四", "score": 92},
{"name": "王五", "score": 78},
{"name": "赵六", "score": 90},
{"name": "钱七", "score": 88},
{"name": "孙八", "score": 83},
{"name": "周九", "score": 95},
{"name": "吴十", "score": 79},
]
# 根据成绩降序排列学生列表
students.sort(key=lambda x: x["score"], reverse=True)
# 输出成绩排名
print("成绩排名:")
for i, student in enumerate(students):
print(f"{i + 1}、{student['name']},{student['score']}分")
# 按照蛇形分班
num_classes = 3 # 班级数量
classes = [[] for _ in range(num_classes)] # 初始化班级列表
for i, student in enumerate(students):
class_index = i % num_classes # 计算当前学生应该分配到的班级
classes[class_index].append(student)
# 输出班级分配结果
print("班级分配结果:")
for i, class_students in enumerate(classes):
print(f"{i + 1}班:")
for student in class_students:
print(f"- {student['name']},{student['score']}分")
```
运行结果如下:
```
成绩排名:
1、周九,95分
2、李四,92分
3、赵六,90分
4、钱七,88分
5、张三,85分
6、孙八,83分
7、吴十,79分
8、王五,78分
班级分配结果:
1班:
- 周九,95分
- 钱七,88分
- 吴十,79分
2班:
- 李四,92分
- 张三,85分
- 王五,78分
3班:
- 赵六,90分
- 孙八,83分
```
阅读全文