.数据保存到文件中。 写一个程序能够把从键盘输入的学生成绩进行简单的总评计算后写入某个文件中,也能从已知的数据文件中,加载学生成绩进行简单的总评计算,再写到文件中。假设学生成绩数据包括学号、姓名、平时成绩、期中成绩和期末成绩。
时间: 2024-02-22 08:55:42 浏览: 178
好的,我可以帮您解答这个问题。为了实现这个程序,我们可以采用以下步骤:
1. 定义学生类,包括学号、姓名、平时成绩、期中成绩和期末成绩等属性,以及计算总评成绩的方法。
2. 编写函数,从键盘输入学生信息,然后计算总评成绩并将学生信息和总评成绩保存到文件中。
3. 编写函数,从已知的数据文件中读取学生信息,计算总评成绩并将学生信息和总评成绩保存到文件中。
下面是一个简单的示例代码:
``` python
class Student:
def __init__(self, id, name, daily_score, midterm_score, final_score):
self.id = id
self.name = name
self.daily_score = daily_score
self.midterm_score = midterm_score
self.final_score = final_score
self.total_score = self.calculate_total_score()
def calculate_total_score(self):
return self.daily_score * 0.3 + self.midterm_score * 0.3 + self.final_score * 0.4
def save_student_info_to_file():
file_name = input("请输入要保存的文件名:")
with open(file_name, "w") as f:
while True:
id = input("请输入学号(输入-1结束输入):")
if id == "-1":
break
name = input("请输入姓名:")
daily_score = int(input("请输入平时成绩:"))
midterm_score = int(input("请输入期中成绩:"))
final_score = int(input("请输入期末成绩:"))
student = Student(id, name, daily_score, midterm_score, final_score)
f.write(f"{student.id} {student.name} {student.daily_score} {student.midterm_score} {student.final_score} {student.total_score}\n")
def load_student_info_from_file():
file_name = input("请输入要读取的文件名:")
with open(file_name, "r") as f:
lines = f.readlines()
for line in lines:
data = line.strip().split(" ")
id, name, daily_score, midterm_score, final_score = data[0], data[1], int(data[2]), int(data[3]), int(data[4])
student = Student(id, name, daily_score, midterm_score, final_score)
with open("result.txt", "a") as f2:
f2.write(f"{student.id} {student.name} {student.daily_score} {student.midterm_score} {student.final_score} {student.total_score}\n")
if __name__ == '__main__':
save_student_info_to_file()
load_student_info_from_file()
```
这个程序可以让用户输入学生信息,然后将学生信息和计算出的总评成绩写入到指定的文件中。同时,程序也可以从已知的数据文件中读取学生信息,计算总评成绩后再写入到文件中。在这个程序中,我们将结果写入到了 `result.txt` 文件中,您可以根据实际需求修改文件名。
阅读全文