2. 学生进行选课,请统计出每个学生的选课门数,及每门课选修的人数。输入格式: 学生学号 选修课程 学生学号 选修课程…(中间用空格隔开,学生学号输入000代表结束)输出格式: 学生学号 选修门数 课程1 选修人数 课程2 选修人数
时间: 2023-11-10 20:07:58 浏览: 151
xk.rar_finishmtr_学生管理_学生选课系统_选课_选课系统
好的,我明白了。以下是回答您的问题:
这是一道统计题,需要输入一系列学生学号和选修课程,以及一个终止输入的标识符(000),然后统计每个学生选修的门数以及每门课的选修人数。对于每个学生,我们可以使用字典来记录他选修的课程,对于每门课程,我们可以使用字典来记录选修它的学生。具体的实现细节可以参考下面的代码:
```python
import sys
# 初始化字典
students = {}
courses = {}
# 读取输入
while True:
line = sys.stdin.readline().strip()
if line == "000":
break
student, course = line.split()
if student not in students:
students[student] = [course]
else:
students[student].append(course)
if course not in courses:
courses[course] = [student]
else:
courses[course].append(student)
# 统计结果
for student in sorted(students):
num_courses = len(students[student])
print("{} {:<3}".format(student, num_courses), end="")
for course in sorted(courses):
if course in students[student]:
num_students = len(courses[course])
print(" {:<3} {:<3}".format(course, num_students), end="")
print()
```
注意,以上代码只是一种可能的实现方式,您可以根据自己的理解和需要进行修改和优化。如果您还有其他问题,可以随时提出来哦!
阅读全文