有 N 个学生,每个学生的信息包括:学号、姓名和3门成绩,要求编程从键盘上输入这 N 个学生的信息,计算出每个学生3门课的平均成绩,将原有数据和计算出的平均成绩存入文件 stu 中,然后再从文件中取出来,显示在屏幕上
时间: 2025-01-29 22:17:18 浏览: 13
为了实现这个功能,你可以使用 Python 编程语言编写一个简单的命令行程序。首先,你需要创建一个结构来存储学生信息,然后通过循环读取用户的输入,并计算平均成绩。接下来,将这些数据写入文件,最后再从文件中读取并显示。
以下是步骤的简要说明:
定义学生类(Student),包含学号、姓名和三门成绩属性(假设为字典格式存储,如
{'math': score1, 'english': score2, 'science': score3}
):class Student: def __init__(self, id, name): self.id = id self.name = name self.scores = {}
读取用户输入并创建学生对象:
def input_students(): num_students = int(input("请输入学生数量:")) students = [] for _ in range(num_students): id = input("请输入学号:") name = input("请输入姓名:") scores = {'math': float(input("数学成绩:")), 'english': float(input("英语成绩:")), 'science': float(input("科学成绩:"))} student = Student(id, name) student.scores.update(scores) students.append(student) return students
计算平均成绩并保存到文件: ```python def save_to_file(students, filename="stu.txt"): with open(filename, "w") as f: for student in students: avg_score = sum(student.scores.values()) / len(student.scores) f.write(f"{student.id},{student.name},{avg_score}\n")
调用函数
students = input_students() save_to_file(students)
4. 从文件中读取数据并显示:
```python
def read_and_display(filename):
with open(filename, "r") as f:
lines = f.readlines()
for line in lines:
id, name, avg_score = line.strip().split(',')
print(f"学号:{id}, 姓名:{name}, 平均成绩:{avg_score}")
read_and_display("stu.txt")
你可以将以上代码组合成一个完整的程序运行。注意,在实际应用中,错误处理和文件路径也需要考虑。
相关推荐


















