def changeStudent(filepath): f = open(filepath, 'r') # 打开存储学生信息的文件,将所有学生信息读入内存 studentList = [] # 存储学生信息的列表 for line in f.readlines(): stuInfo = line.strip().split() stu = student.Student(stuInfo[0], int(stuInfo[1]), int(stuInfo[2])) studentList.append(stu) f.close() if len(studentList) == 0: # 如果文件为空,退出当前操作 print('没有学生信息! 请添加学生信息。') return id = input('请输入学生ID: ') idx = utils.searchStudentId(studentList, int(id)) while idx >= len(studentList): id = input('学生信息没有找到, 请输入正确学生ID: ') idx = utils.searchStudentId(studentList, int(id)) # 简单起见,这里我们假设只能修改学生的分数,不能对姓名进行修改 grade = input('请更改此学生的成绩: ') while not utils.checkGrade(grade): grade = input("格式错误! 请输入正确成绩: ") studentList[idx].setStudentGrade(grade) instruct = input('保存? (Y/N):') if instruct.lower() == 'y': f = open(filepath, 'w') for stu in studentList: f.write(str(stu) + '\n') f.close() print('保存...')
def addStudent(filepath): print('请输入学生信息,其中学号为四位数字') # 输入新增学生信息:姓名、学号和成绩 name = input("请输入学生姓名: ").replace(' ', '') id_ = input("请输入学生学号: ") while not utils.checkId(id_): id_ = input("格式错误!请输入正确学号格式:") sex = input("请输入学生性别: ").replace(' ', '') age = input("请输入学生年龄: ") while not utils.checkAge(age): grade = input("格式错误!请输入正确年龄格式:") class_ = input("请输入学生班级: ").replace(' ', '') grade = input("请输入学生成绩: ") while not utils.checkGrade(grade): grade = input("格式错误!请输入正确成绩格式:") print('你已经成功添加:') print('姓名:', name, ',学号:', id_, ',性别:', sex, ',年龄:', age, ',班级:', class_, ', 成绩:', grade) instruct = input('保存? (Y/N): ') if instruct.lower() == 'y': f = open(filepath, 'a') f.write(name + '\t' + id_ + '\t' + sex + '\t' + age + '\t' + class_ + '\t' + grade + '\n') f.close() print('保存...')
def modifyStudent(filepath): #print("do_changeStudent") studentList = utils.fileRead(filepath) if len(studentList) == 0: print('没有学生信息!请添加学生信息。') return id_ = input('请输入学生ID:') idx = getIndex(studentList, int(id_)) #print("id:"+str(id_), " ", "idx:"+str(idx), "len(stu):",str(len(studentList))) while idx >= len(studentList): id_ = input('学生信息没有找到, 请输入正确学生ID:') idx = getIndex(studentList, int(id_)) choice = input("请选择要修改的内容(0:姓名 1:ID 2:性别 3:年龄 4:班级 5:分数):").replace( ' ', '') # 简单起见,只能修改分数。 if choice == '0': name = input('请更改此学生的姓名:').replace(' ', '') studentList[idx].setStudentName(name) elif choice == '1': id_ = input("请输入学生ID: ") while not utils.checkId(id_): id_ = input("格式错误!请输入正确ID格式:") elif choice == '2': sex = input('请更改此学生的性别:').replace(' ', '') studentList[getIndex(studentList, id_)].setStudentSex(sex) elif choice == '3': age = input('请更改此学生的年龄:') while not utils.checkAge(age): age = input("格式错误!请输入正确成绩:") studentList[getIndex(studentList, id_)].setStudentGrade(grade) elif choice == '4': class_ = input('请更改此学生的班级:').replace(' ', '') studentList[getIndex(studentList, id_)].setStudentClass(class_) elif choice == '5': grade = input('请更改此学生的成绩:') while not utils.checkGrade(grade): grade = input("格式错误!请输入正确成绩:") studentList[getIndex(studentList, id_)].setStudentGrade(grade) instruct = input('确定保存? (Y/N):') if instruct.lower() == 'y': utils.fileWrite(filepath, studentList) print('保存')
def addStudent(filepath): print('请输入学生信息,其中ID为四位数字。') # 输入新增学生信息:姓名,学号和成绩 name = input("请输入学生姓名: ").replace(' ', '') id = input("请输入学生ID: ") while not utils.checkId(id): id = input("格式错误! 请输入正确ID格式: ") grade = input("请输入学生成绩: ") while not utils.checkGrade(grade): grade = input("格式错误! 请输入正确成绩格式: ") print('您已经成功添加:') print('姓名: ', name, ', ID: ', id, ', 成绩: ', grade) instruct = input('保存? (Y/N):') if instruct.lower() == 'y': # 将输入信息统一转化为小写字母进行匹配 f = open(filepath, 'a') # 将学生信息写入文件,采用追加写方式 # f.write('Name: ' + name + ', id: ' + id + ', grade: ' + grade + '\n') f.write(name + '\t' + id + '\t' + grade + '\n') f.close() print('保存...')