Exemple #1
0
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('保存...')
Exemple #3
0
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('保存')
Exemple #4
0
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('保存...')