67.编写一个程序,用于检查学生基本记录中统计的各班学生人数是否与班级表中的人数一致,如果不一致,则修改班级表中学生人数。
时间: 2024-03-30 13:34:59 浏览: 76
以下是一个示例程序,可以检查学生基本记录中统计的各班学生人数是否与班级表中的人数一致,并在必要时修改班级表中的学生人数。
```python
import csv
# 读取班级表,并将每个班级的学生人数存储在一个字典中
class_counts = {}
with open('class_list.csv', 'r') as f:
reader = csv.reader(f)
for row in reader:
class_counts[row[0]] = int(row[1])
# 读取学生基本记录,并统计每个班级的学生人数
student_counts = {}
with open('student_records.csv', 'r') as f:
reader = csv.reader(f)
for row in reader:
class_name = row[2]
if class_name in student_counts:
student_counts[class_name] += 1
else:
student_counts[class_name] = 1
# 比较班级表中的人数和学生基本记录中统计的人数,并在必要时更新班级表
for class_name in class_counts:
if class_name in student_counts and student_counts[class_name] != class_counts[class_name]:
print('Warning: Student count mismatch in class', class_name)
print('Class list shows', class_counts[class_name], 'students, but', student_counts[class_name], 'students are recorded in student records.')
class_counts[class_name] = student_counts[class_name]
# 将更新后的班级表写回文件
with open('class_list.csv', 'w') as f:
writer = csv.writer(f)
for class_name in class_counts:
writer.writerow([class_name, class_counts[class_name]])
```
该程序假设班级表存储在名为 `class_list.csv` 的文件中,格式为:
```
Class A,25
Class B,30
Class C,28
```
其中第一列为班级名称,第二列为学生人数。
学生基本记录存储在名为 `student_records.csv` 的文件中,格式为:
```
John Doe,123,Class A
Jane Smith,456,Class B
Bob Johnson,789,Class C
```
其中第一列为学生姓名,第二列为学生编号,第三列为所在班级名称。
阅读全文