import pickle class Student: def __init__(self, name, lastname , address , tell , score, ave): self.name = name self.lastname = lastname self.address = address self.tell = tell self.score = score self.ave = ave def avrage(self): sum = 0 for i in range(0, 5): sum += self.score[i] ave = sum / 5 return ave def Read_info(self): self.name = input("Enter student name: ") self.lastname = input("Enter student lastname: ") self.address = input("Enter student address: ") self.tell = input("Enter student tell: ") for i in range(0, 5): self.score.append(float(input("Enter student score " + str(i+1) + ": "))) self.ave = self.avrage() return self def show_info(self): print(self.name, "," , self.lastname, "," ,self.address, "," ,self.tell) print(self.score) print(self.ave) def write_file(list1, n): file = open('D:\\STUD', 'wb') for i in range(n): pickle.dump(list1[i], file) file.close() def read_file(n): student = [] file = open('D:\\STUD', 'rb') for i in range(n): student.append(pickle.load(file)) file.close() return student def Sort_std(list_std, n): for i in range(n): for j in range(n): if list_std[i].lastname < list_std[j].lastname: temp = list_std[i] list_std[i] = list_std[j] list_std[j] = temp return list_std student_list = [] for i in range(0, 3): std = Student("","" ,"" ,"0914..." , [], 0.0) std.Read_info() student_list.append(std) student_list=Sort_std(student_list,3) write_file(student_list, 3) student_list = read_file(3) for i in range(0, 3): student_list[i].show_info()