5.实现文件操作,程序退出时将学生成绩保存在studen_grad.txt文件中;程序开始时,能够从 student_ grad.txt文件中加载己有的学生成绩信息。
时间: 2024-02-03 21:13:52 浏览: 71
程序下载程序下载程序下载.zip
下面是一个简单的实现文件操作并保存学生成绩的示例代码:
```python
class Student:
def __init__(self, name, grade):
self.name = name
self.grade = grade
class StudentGradeSystem:
def __init__(self):
self.students = []
self.load_students()
def load_students(self):
try:
with open('student_grad.txt', 'r') as f:
lines = f.readlines()
for line in lines:
name, grade = line.strip().split(',')
self.students.append(Student(name, float(grade)))
except:
pass
def add_student(self, name, grade):
self.students.append(Student(name, grade))
def print_students(self):
for student in self.students:
print(f'{student.name}: {student.grade}')
def save_students(self):
with open('student_grad.txt', 'w') as f:
for student in self.students:
f.write(f'{student.name},{student.grade}\n')
def run(self):
while True:
print('1. Add student')
print('2. Print students')
print('3. Quit')
choice = input('Enter your choice: ')
if choice == '1':
name = input('Enter student name: ')
grade = float(input('Enter student grade: '))
self.add_student(name, grade)
elif choice == '2':
self.print_students()
elif choice == '3':
self.save_students()
break
if __name__ == '__main__':
system = StudentGradeSystem()
system.run()
```
在该示例代码中,我们创建了一个名为 `Student` 的类,其中包含学生的姓名和成绩。我们还创建了一个名为 `StudentGradeSystem` 的类,该类包含了一些方法用于添加学生、打印学生成绩和保存学生成绩的信息。在 `__init__` 方法中,我们加载已有的学生成绩信息。在 `save_students` 方法中,我们将学生成绩保存到 `student_grad.txt` 文件中。在 `run` 方法中,我们使用一个无限循环来接受用户的输入,并根据用户的选择执行相应的操作。当用户选择退出时,我们保存学生成绩信息并退出程序。
注意,我们使用了 `try` 和 `except` 语句来确保在文件不存在或文件格式不正确的情况下程序仍能正常运行。
阅读全文