数据保存到文件中。 写一个程序能够把从键盘输入的学生成绩进行简单的总评计算后写入某个文件中,也能从已知的数据文件中,加载学生成绩进行简单的总评计算,再写到文件中。假设学生成绩数据包括学号、姓名、平时成绩、期中成绩和期末成绩。
时间: 2023-06-19 17:06:16 浏览: 495
好的,下面是一个简单的 Python 代码实现:
```python
import os
class Student:
def __init__(self, sid, name, score1, score2, score3):
self.sid = sid
self.name = name
self.score1 = score1
self.score2 = score2
self.score3 = score3
def calc_total_score(self):
return self.score1 * 0.3 + self.score2 * 0.3 + self.score3 * 0.4
def save_students_to_file(students, filename):
with open(filename, 'w') as f:
for s in students:
f.write(f"{s.sid},{s.name},{s.score1},{s.score2},{s.score3}\n")
def load_students_from_file(filename):
students = []
if not os.path.exists(filename):
return students
with open(filename, 'r') as f:
for line in f:
sid, name, score1, score2, score3 = line.strip().split(',')
students.append(Student(sid, name, float(score1), float(score2), float(score3)))
return students
def main():
# 加载学生数据
students = load_students_from_file('students.txt')
# 输入新学生数据
sid = input("请输入学号:")
name = input("请输入姓名:")
score1 = float(input("请输入平时成绩:"))
score2 = float(input("请输入期中成绩:"))
score3 = float(input("请输入期末成绩:"))
s = Student(sid, name, score1, score2, score3)
students.append(s)
# 计算总评成绩并保存到文件
save_students_to_file(students, 'students.txt')
print(f"学生 {s.name} 的总评成绩为 {s.calc_total_score()}")
if __name__ == '__main__':
main()
```
运行程序后,会提示您输入学生数据,输入完毕后,程序会计算每个学生的总评成绩,并将所有学生的数据保存到文件 `students.txt` 中。下一次运行程序时,会自动从 `students.txt` 文件中读取学生数据。
阅读全文