这道题要求统计每门课程的选修人数(超过5人的课程才统计)。要求输出课程号和选修人数,并按人数降序排列,若人数相同,则按课程号升序排列
时间: 2024-05-12 22:17:05 浏览: 130
1.查询每门课程的【及格】学生数.sql
这是一道统计题,需要遍历每个课程的选修人数并进行统计,满足超过5人的课程才进行统计。然后按照要求排序输出即可。下面是示例代码:
```
# 定义一个字典来存储每门课程的选修人数
course_dict = {}
# 遍历每个学生的选课信息
for student in students:
for course in student.courses:
if course not in course_dict:
course_dict[course] = 1
else:
course_dict[course] += 1
# 定义一个数组来存储符合要求的课程编号和选修人数
result = []
for course, num in course_dict.items():
if num > 5:
result.append((course, num))
# 按选修人数降序排列,若人数相同则按课程号升序排列
result.sort(key=lambda x: (-x[1], x[0]))
# 输出结果
for item in result:
print(item[0], item[1])
```
该代码包括以下步骤:
1. 定义一个字典来存储每门课程的选修人数。
2. 遍历每个学生的选课信息,对每门课程的选修人数进行统计。
3. 定义一个数组来存储符合要求的课程编号和选修人数(选修人数超过5人)。
4. 按选修人数降序排列,若人数相同则按课程号升序排列。
5. 输出结果,并按要求输出课程号和选修人数。
阅读全文