修改函数调用实训程序在 main前端调用读入学生记录函数 inputDatafromFile在插入学生记录函数中增加调用数据存盘函数 outputDatatoFile。
以下是修改后的程序:
class Student:
def __init__(self, name, number, gender, age, score):
self.name = name
self.number = number
self.gender = gender
self.age = age
self.score = score
def __str__(self):
return f"{self.name}\t{self.number}\t{self.gender}\t{self.age}\t{self.score}"
def __repr__(self):
return self.__str__()
def inputDatafromFile():
students = []
with open("students.txt", "r") as f:
lines = f.readlines()
for line in lines:
data = line.strip().split("\t")
student = Student(data[0], data[1], data[2], int(data[3]), int(data[4]))
students.append(student)
return students
def outputDatatoFile(students):
with open("students.txt", "w") as f:
for student in students:
f.write(str(student) + "\n")
def insertStudent(students):
name = input("请输入学生姓名:")
number = input("请输入学生学号:")
gender = input("请输入学生性别:")
age = int(input("请输入学生年龄:"))
score = int(input("请输入学生成绩:"))
student = Student(name, number, gender, age, score)
students.append(student)
outputDatatoFile(students)
def main():
students = inputDatafromFile()
while True:
print("1. 插入学生记录")
print("2. 删除学生记录")
print("3. 修改学生记录")
print("4. 查询学生记录")
print("5. 显示所有学生记录")
print("0. 退出程序")
choice = int(input("请输入你的选择:"))
if choice == 1:
insertStudent(students)
elif choice == 0:
break
else:
print("暂不支持此功能!")
if __name__ == '__main__':
main()
修改后的程序中,在 main() 函数之前调用了 inputDatafromFile() 函数,将文件中的学生记录读入到程序中。在 insertStudent() 函数中,增加了一个 outputDatatoFile() 函数的调用,将修改后的学生记录存储到文件中。这样,程序可以在每次插入学生记录时将修改后的学生记录存储到文件中,避免了程序结束时数据丢失的问题
原文地址: https://www.cveoy.top/t/topic/hrHL 著作权归作者所有。请勿转载和采集!