コード例 #1
0
def add_student():
    while True:
        x = file_manager.read_json(teacher_name + '.json', {})
        if not x:
            students = []
            num = 0
        else:
            students = x['all_student']
            num = int(x['num'])
        s_name = input('请输入学生姓名:')
        s_age = input('请输入年龄:')
        s_sex = input('请输入性别:')
        s_tel = input('请输入联系电话:')

        num += 1
        # 字符串的zfill方法,在字符串的前面补0.
        s_id = 'stu_' + str(num).zfill(4)

        s = model.Student(s_id, s_name, s_age, s_sex, s_tel)

        students.append(s.__dict__)
        data = {'all_student': students, 'num': len(students)}
        file_manager.write_json(teacher_name + '.json', data)
        choice = input('添加成功!\n1.继续\n2.返回\n请选择(1-2):')
        if choice == '2':
            break
コード例 #2
0
ファイル: index.py プロジェクト: ASKTIME/PythonDemo
def register():
    data = file_manager.read_json('data.json', {})
    while True:
        teacher_name = input('请输入账号(3-6位)')
        if not 3 <= len(teacher_name) <= 6:
            print('输入有误请重新输入')
        else:
            break

    if teacher_name in data:
        print('用户存在,请重新输入')
        return

    while True:
        password = input('请输入密码(6-12位)')
        if not 3 <= len(password) <= 6:
            print('输入有误请重新输入')
        else:
            break
    # teacher[teacher_name] = password
    # # 把数据写进去
    # file_manager.write_json('data.json', teacher)
    t = mod.Teacher(teacher_name, password)
    # 密码加密
    data[t.name] = t.password
    file_manager.write_json('data.json', data)
コード例 #3
0
def add_student():
    x = file_manager.read_json(name, {})
    if not x:
        students = []
        num = 0
    else:
        students = x['all_student']
        num = int(x['num'])

    while True:
        s_name = input('请输入学生姓名:')
        s_age = input('请输入学生年龄:')
        s_gender = input('请输入学生性别:')
        s_tel = input('请输入学生电话号码:')

        num += 1
        # zfill为字符串补齐方法,前面补0
        s_id = 'stu_' + str(num).zfill(4)  # num存在重复问题
        # 创建一个Student对象
        s = model.Student(s_id, s_name, s_age, s_gender, s_tel)

        students.append(s.__dict__)
        data = {'all_student': students, 'num': len(students)}
        file_manager.write_json(name, data)

        choice = input('添加成功!\n继续1\n返回2\n请选择:')
        if choice == '2':
            break
コード例 #4
0
def delte_student():
    y = file_manager.read_json('11 学生管理系统/files/' + username + '.json', {})
    students = y.get('all_students', [])
    key = value = ''

    if not students:
        print('没有学生')
        return

    num = input('1. 按照姓名\n2. 按照学号\n 其他:返回')
    if num == '1':
        key = 'name'
        value = input('输入姓名')

    elif num == '2':
        key = 'id'
        value = input('请输入ID')
    else:
        return

    del_students = list(filter(lambda s: s.get(key, '') == value, students))
    if not del_students:
        print('没有学生')
        return
    for i, student in enumerate(del_students):
        print('{x} 学号:{id}, 姓名:{name}, 性别:{gender}, 年龄:{age}, 电话:{tel}'.format(
            x=i, **student))

    n = input('请输入要删除的序号(0~{}), 其他返回/n'.format(i))
    if not n.isdigit() or not 0 <= int(n) <= i:
        print('输入内容不合法')
        return
    students.remove(del_students[int(n)])
    y['all_stdents'] = students
    file_manager.write_json('11 学生管理系统/files/' + username + '.json', y)
コード例 #5
0
def add_student():
    x = file_manager.read_json('11 学生管理系统/files/' + username + '.json', {})
    if not x:
        students = []
        num = 0
    else:
        students = x['all_students']
        num = int(x['num'])
    while True:
        name = input('输入学生姓名:')
        age = input('请输入年龄')
        gender = input('请输入性别')
        tel = input('请输入电话')
        num += 1
        # 字符串的zfill方法,再字符串前面补零
        id = 'stu_' + str(num).zfill(4)

        # 创建一个student对象
        student = model.Students(id, name, age, gender, tel)
        students.append(student.__dict__)
        data = {'all_students': students, 'num': len(students)}
        file_manager.write_json('11 学生管理系统/files/' + username + '.json', data)
        choice = input('添加成功\n1.继续\n2.返回\n请选择:')
        if choice == '2':
            break
コード例 #6
0
def add_student():
    system_data = file_manager.read_json(USER_NAME + '.json', {})
    all_student = system_data.get(ALL_STUDENT, [])

    while True:
        # 1.输入学生信息
        name = input('请输入姓名:')
        age = input('请输入年龄:')
        gender = input('请输入性别:')
        tel = input('请输入电话:')

        # 创建学号
        count = system_data.get(COUNT, 0)
        count += 1
        s_id = 'stu' + str(count).zfill(4)

        # 2.创建学生对象
        s = model.Student(s_id, name, age, gender, tel)

        # 4. 更新数据
        all_student.append(s.__dict__)
        system_data[ALL_STUDENT] = all_student
        system_data[COUNT] = count

        # 5. 更新文件
        file_manager.write_json(USER_NAME + '.json', system_data)
        print('添加成功!')

        # 6.给出选择
        value = input('1.继续\n2.返回\n请选择(1-2):')
        if value != '1':
            break
コード例 #7
0
ファイル: student_manager.py プロジェクト: ASKTIME/PythonDemo
def add_student():
    while True:
        # students = []
        x = file_manager.read_json(name + '.json', {})
        if not x:
            students = []
            num = 0
        else:
            students = x['all_student']
            num = int(x['num'])

        s_name = input('输入姓名:')
        s_age = input('输入年龄:')
        s_gender = input('输入性别:')
        s_tel = input('输入电话号')

        num += 1
        s_id = 'stu_' + str(num).zfill(4)

        s = mod.Student(s_id, s_name, s_age, s_gender, s_tel)
        students.append(s.__dict__)
        data = {'all_student': students, 'num': len(students)}
        file_manager.write_json(name + '.json', data)
        choice = input('添加成功!\n1继续\n2返回\n请选择(1-2):')
        if choice == '2':
            break
コード例 #8
0
def register():
    # 读取文件,查看文件中有没有数据
    data = file_manager.read_json('data.json', {})

    while True:
        teacher_name = input('请输入您的用户名:(3~12位):')
        if not 3 <= len(teacher_name) <= 12:
            print('用户名不符合要求,请重新输入')
        else:
            break

    if teacher_name in data:
        print('注册失败!该账号已经注册过!')
        return

    while True:
        password = input('请输入您的密码:(6~12):')
        if not 6 <= len(password) <= 12:
            print('您输入密码有误,请重新输入')
        else:
            break
    # 用户密码都已经输入正确以后,创建一个teacher对象
    t = model.Teacher(teacher_name, password)
    data[t.name] = t.password
    # data[teacher_name] = password
    # print(teacher)
    file_manager.write_json('data.json', data)
コード例 #9
0
ファイル: index.py プロジェクト: cgyPension/pythonstudy_space
def register():
    # 读取teacher.json
    data = file_manager.read_file('files/teacher.json')
    while True:
        teacher_name = input('请输入账号(3~6位):')
        if not 3 <= len(teacher_name) <= 6:
            print('账号不符合,请重新输入!')
        else:
            break

    if teacher_name in data:
        print('注册失败!该账号已经注册过!')
        return

    while True:
        password = input('请输入密码(6~12位):')
        if not 6 <= len(password) <= 12:
            print('密码不符合,请重新输入!')
        else:
            break

    # teacher[teacher_name] = password
    t = bean.Teacher(teacher_name, password)
    data[t.name] = t.password
    file_manager.write_json('files/teacher.json', data)
コード例 #10
0
def add_student():
    x = file_manager.read_json('files/' + name + '.json')
    if not x:  # 如果文件不存在
        students = []
        num = 0
    else:
        students = x['all_student']
        num = int(x['num'])

    while True:
        s_name = input('请输入学生姓名:')
        s_age = input('请输入学生年龄:')
        s_gender = input('请输入学生性别:')
        s_tel = input('请输入学生电话:')

        num = int(x['num'])
        num += 1
        s_id = 'stu_' + str(num).zfill(4)  # zfill方法,不够n位 在字符串前面补0

        s = bean.Student(s_id, s_name, s_age, s_gender, s_tel)
        students.append(s.__dict__)  # 转为字典
        data = {'all_student': students, 'num': len(students)}
        file_manager.write_json('files/' + name + '.json', data)
        chioce = input('添加成功!\n1.继续\n2.返回\n请选择(1-2):')
        if chioce == '2':
            break
コード例 #11
0
def register():
    # 读取文件,查看文件里是否有数据。如果文件不存在,默认是一个字典
    data = file_manager.read_json('data.json', {})
    while True:
        teacher_name = input('请输入账号(3~6位):')
        if not 3 <= len(teacher_name) <= 6:
            print('账号不符合要求,请重新输入!')
        else:
            break

    if teacher_name in data:
        print('注册失败!该账号已经注册过!')
        return

    while True:
        password = input('请输入密码(6~12位):')
        if not 6 <= len(password) <= 12:
            print('密码不符合要求,请重新输入!')
        else:
            break

    # 用户名密码都已经输入正确以后,创建一个teacher对象
    t = model.Teacher(teacher_name, password)
    data[t.name] = t.password

    file_manager.write_json('data.json', data)
コード例 #12
0
ファイル: student_manager.py プロジェクト: HorseSF/xf_Python
def delete_student():
    student_json = file_manager.read_json(name + '.json', {})
    all_students = student_json.get('all_student', [])
    key = value = ''

    x = input('1.按姓名删除\n2.按学号删除\n其他:返回\n请选择:')
    if x == '1':
        key = 'name'
        value = input('请输入学生姓名:')
    elif x == '2':
        key = 'id'
        value = input('请输入学生ID:')
    else:
        return

    students = list(filter(lambda s: s.get(key, '') == value, all_students))

    if not students:
        print('未找到学生')
        return

    for i, student in enumerate(students):
        print('{x} 学号:{id},姓名:{name},性别:{gender},年龄:{age},电话:{tel}'.format(
            x=i, **student))

    del_index = input('请输入需要删除的学生的标号(0-{}),q-返回:'.format(i))

    if not del_index.isdigit() or not 0 <= int(del_index) <= i:
        print('输入错误!')
        return

    # 删除学生
    all_students.remove(students[int(del_index)])
    student_json['all_student'] = all_students
    file_manager.write_json(name + '.json', student_json)
コード例 #13
0
ファイル: student_manager.py プロジェクト: HorseSF/xf_Python
def add_student():
    students_json = file_manager.read_json(name + '.json', {})
    if not students_json:
        students = []
        num = 0
    else:
        students = students_json['all_student']
        num = int(students_json['num'])

    while True:
        s_name = input('请输入学生姓名:')
        s_age = input('请输入年龄:')
        s_gender = input('请输入性别:')
        s_tel = input('请输入电话:')
        num += 1
        s_id = 'stu_' + str(num).zfill(4)

        # 创建Student对象
        s = model.Student(s_id, s_name, s_age, s_gender, s_tel)
        students.append(s.__dict__)

        # 拼接字典
        data = {'all_student': students, 'num': len(students)}

        # 把数据写入文件
        file_manager.write_json(name + '.json', data)
        choice = input('添加成功!\n1.继续\n2.返回\n请选择(1-2)')
        if choice == '2':
            break
        elif choice != '2' and choice != '1':
            print('输入有误!')
コード例 #14
0
def delete_student():
    y = file_manager.read_json(teacher_name + '.json', {})
    all_students = y.get('all_student', [])
    key = value = ''

    operate = input('1.按姓名删\n2.按学号删\n其他:返回')
    if operate == '1':
        key = 'name'
        value = input('请输入要删除学生的姓名:')
    elif operate == '2':
        key = 's_id'
        value = input('请输入要删除学生的id:')
    else:
        return

    students = list(filter(lambda s: s.get(key, '') == value, all_students))
    if not students:
        print('该老师没有学生,请先添加学生。')
        return
    for i, s in enumerate(students):
        print('{x} 学号:{s_id},姓名:{name},性别:{sex},年龄:{age},电话:{tel}'.format(x=i,
                                                                          **s))
    n = input('请输入要删除学生的标号(0~{}),q-返回。'.format(i))

    if not n.isdigit() or not 0 <= int(n) <= i:
        print('输入的内容不合法')
        return

    all_students.remove(students[int(n)])
    y['all_student'] = all_students
    file_manager.write_json(teacher_name + '.json', y)
コード例 #15
0
def register():
    # 读取文件, 查看文件是否有数据. 如果文件不存在默认是一个字典
    teachers = file_manager.read_json('11 学生管理系统/files/users.json', {})

    while True:
        username = input('请输入账号(3~6位)')
        if not 3 <= len(username) <= 6:
            print('账号不符合要求,请重新输入')
        else:
            break

    if username in teachers:
        print('用户已存在')
        return

    while True:
        password = input('请输入密码(6~12位)')
        if not 6 <= len(password) <= 12:
            print('密码不符合要求,请重新输入')
        else:
            break
    # 使用对象
    teacher = model.Teachers(username, password)
    teachers[teacher.username] = teacher.password
    # 不用对象
    # teachers[username] = password
    file_manager.write_json('11 学生管理系统/files/users.json', teachers)
コード例 #16
0
ファイル: student_manager.py プロジェクト: ASKTIME/PythonDemo
def delete_student():
    data = file_manager.read_json(name + '.json', {})
    students = data.get('all_student', [])
    key = value = ''
    if not students:
        print('文件未找到')
        return
    num = input('1.按姓名删\n2.按ID删\n3.其他返回')
    if num == '1':
        key = 'name'
        value = input('输入要删除的姓名:')
    elif num == '2':
        key = 's_id'
        value = input('输入要删除的id:')
    else:
        return

    student = filter(lambda s: s.get(key, '') == value, students)
    for i, s in enumerate(student):
        print('{x} 学号:{s_id}, 姓名:{name},性别:{gender},年龄:{age}, ☎:{tel}'.format(
            x=i, **s))
    n = input('请输入需要删除的学生的标号(0~{}),q-返回:'.format(i))  # 使用变量 i 有潜在风险

    if not n.isdigit() or not 0 <= int(n) <= i:
        print('输入的内容不合法')
        return

    # 将学生从all_students里删除
    students.remove(students[int(n)])

    data['all_student'] = students
    file_manager.write_json(name + '.json', data)
コード例 #17
0
ファイル: index.py プロジェクト: HorseSF/xf_Python
def register():
    data = file_manager.read_json('data.json', {})

    while True:
        teacher_name = input('请输入账号(3-6位):')
        if not 3 <= len(teacher_name) <= 6:
            print('账号不符合要求,请重新输入!')
        else:
            break

    if teacher_name in data:
        print('注册失败!该账户已经被注册了!')
        return

    while True:
        password = input('请输入账号(6-12位):')
        if not 6 <= len(password) <= 12:
            print('账号不符合要求,请重新输入!')
        else:
            break

    # 创建一个teacher对象,保存数据。
    t = model.Teacher(teacher_name, password)
    data[t.name] = t.password
    file_manager.write_json('data.json', data)
コード例 #18
0
def del_student():
    key = value = ''
    y = file_manager.read_json(name, {})
    all_students = y.get('all_student', [])

    if not all_students:
        print('该教师未添加学员,请添加学员。')
        return
    num = input('1.按姓名删\n2.按学号删\n3.返回\n请选择:')
    if num == '1':
        key = 'name'
        value = input('请输入要删除学生的姓名')
    elif num == '2':
        key = 's_id'
        value = input('请输入要删除学生的id')
    else:
        return
    students = list(filter(lambda s: s.get(key, '') == value,
                           all_students))  # 值得好好看看
    if not students:
        print('未找到学员。')
        return
    for i, student in enumerate(students):
        print('{x},学号{s_id},姓名{name},年龄{age},性别{gender},电话{tel}'.format(
            x=i, **student))

    n = input('请输入要删除的学生标号(0~%d),q—退出:'.format(i))  # i有潜在风险(可能未被定义)
    if not n.isdigit() or not 0 <= int(n) <= i:
        print('输入内容不合法。')
        return
    all_students.remove(students[int(n)])

    y['all_student'] = all_students
    file_manager.write_json(name, y)
コード例 #19
0
def register():
    while True:
        users = input('请输入一个3~6位的用户名 ')
        if 3 <= len(users) <= 6:
            user = users
            break
    while True:
        passwords = input('请输入一个6~12位的密码 ')
        if 6 <= len(passwords) <= 12:
            password = passwords
            break
    teacher = Teacher(user, password)
    teacher.teacher_list.append(teacher)
    teacher.teacher_dict[user] = password
    file_manager.write_json(teacher.teacher_dict, '老师信息.txt')
    file_manager.write_pickle(teacher.teacher_list, '老师对象.txt')
コード例 #20
0
def del_student():
    system_data = file_manager.read_json(USER_NAME + '.json', {})
    all_student = system_data.get(ALL_STUDENT, [])
    if not all_student:
        print('该账号没有可管理的学生!请先添加学生!')
        return

    print('1.按姓名删\n2.按学号删\n其他:返回')
    del_studens = []
    choice = input('请选择:')
    key = value = ''
    if choice == '1':
        key = 'name'
        value = input('请输入要删除的学生名字:')
    elif choice == '2':
        key = 's_id'
        value = input('请输入要删除的学生id:')
    else:
        return

    # 找到名字和删除学生名字相同的学生
    for stu in all_student:
        if stu[key] == value:
            del_studens.append(stu)
    if not del_studens:
        print('没有该学生!')
        return
    length = len(del_studens)
    for index, s in enumerate(del_studens):
        print(index, get_stu_message(s))

    try:
        choice = int(input('请输入需要删除的学生的标号(0~%d),q-返回:' % (length - 1)))
    except ValueError:
        return

    if not 0 <= choice <= length - 1:
        return

    # 删除对应的学生
    all_student.remove(del_studens[choice])
    system_data[ALL_STUDENT] = all_student
    file_manager.write_json(USER_NAME + '.json', system_data)
    print('删除成功!')
コード例 #21
0
def add_student():
    # 要先读取老师的json文件,没有时,创建一个新字典,有则拿出原有的数据再重写一遍这个json文件,保证数据的持久性
    stu_tea_json = file_manager.read_json(name + '.json', {})

    global count

    if not stu_tea_json:
        students_list = []
        # num = 0

    else:
        students_list = stu_tea_json['all_students']

        count = int(stu_tea_json['num'])

    while True:
        stu_name = input('请输入学生的姓名:')
        stu_age = input('请输入学生的年龄:')
        stu_sex = input('请输入学生的性别:')
        stu_tel = input('请输入学生的电话:')

        count += 1
        # 字符串的zfill()方法,在字符串前补0
        s_id = 'stu' + str(count).zfill(4)

        # 导入model模块,创建一个学生类的实例对象
        student = model.Student(s_id, stu_name, stu_age, stu_sex, stu_tel)

        students_list.append(student.__dict__)
        data = {'all_students': students_list, 'num': len(students_list)}
        # print(data)
        # 将data保存到一个json文件,调用file_manager模块中的write_json方法
        file_manager.write_json(name + '.json', data)
        print('添加成功!')
        while True:
            choice = input('1.继续\n2.返回\n请选择(1~2):')
            if choice == '1':
                break
            elif choice == '2':
                return
            else:
                print('输入错误,请重新选择!')
                continue
コード例 #22
0
def delete_student():
    operator = input('1.按姓名删除\n2.按学号删除\n其他:返回\n请选择:')
    stu_json_file = file_manager.read_json(name + '.json', {})
    all_students = stu_json_file.get('all_students', [])
    key = ''
    value = ''
    if not all_students:
        print('该老师还没有添加学生,请先添加!')
        return

    if operator == '1':
        key = 'name'
        value = input('请输入需要删除的学生姓名:')

    elif operator == '2':
        key = 's_id'
        value = input('请输入需要删除的学生ID:')

    else:
        return

    students = list(filter(lambda s: s.get(key, '') == value, all_students))

    if not students:
        print('未找到此学员')
        return

    # 使用enumerate()方法拿到列表的下标
    for i, stu in enumerate(students):
        print('{x} 学号:{s_id},姓名:{name},性别:{sex},年龄:{age},☎:{tel}'.format(
            x=i, **stu))

    n = input('请输入您要删除的的学生的标号(0~{})'.format(i))  # 使用i变量会有潜在风险

    if not n.isdigit() or not 0 <= int(n) <= i:
        print('输入的内容不合法,请重新输入')
        return

    all_students.remove(students[int(n)])
    stu_json_file['all_student'] = all_students
    file_manager.write_json(name + '.json', stu_json_file)
コード例 #23
0
def register():
    # 读取json文件,如果文件不存在默认是个字典
    data = file_manager.read_json('data')
    while True:
        teacher_name = input('请输入用户名(3~6位):')
        if not 3 <= len(teacher_name) <= 6:
            print('不符合要求,请重新输入!')
        else:
            break

    while True:
        password = input('请输入密码(6~12位):')
        if not 6 <= len(password) <= 12:
            print('不符合要求,请重新输入!')
        else:
            break
    # 输入正确后可创建一个对象
    teacher = model.Teacher(data, password)
    # 建议将密码加密保存
    data[teacher_name] = teacher.password
    file_manager.write_json('data', data)
コード例 #24
0
def delte_student():
    x = input('1.按姓名删\n2.按学号删\n其他:返回\n请选择:')
    y = file_manager.read_json('files/' + name + '.json')

    all_students = y.get('all_student', [])
    if not all_students:
        print('该老师还没有学员,请添加学员')
        return

    num = y.get('num', 0)

    if x == '1':
        key = 'name'
        value = input('请输入要删除学生的姓名:')
    elif x == '2':
        key = 's_id'
        value = input('请输入要删除学生的id:')
    else:
        print('输入有误')
        return

    students = list(filter(lambda s: s.get(key, '') == value, all_students))
    if not students:
        print('没有找到对应的学生')
        return
    for i, student in enumerate(students):
        print('{x} 学号:{s_id},姓名:{name},性别:{gender},年龄:{age},电话:{tell}'.format(
            x=i, **student))

    n = input('请输入需要删除的学生的标号(0~{}),q-返回:'.format(i))  # 使用i 可能有潜在风险

    if not n.isdigit() or not 0 <= int(n) <= i:
        print('输入的内容不合法')
        return

    # 将学生从all_students里删除
    all_students.remove(students[int(n)])
    y['all_student'] = all_students

    file_manager.write_json('files/' + name + '.json', y)
コード例 #25
0
ファイル: index.py プロジェクト: liangqingsong96/Practice
def register():
    while True:
        user_name = input('请输入账号(3~6位):')
        if 3 <= len(user_name) <= 6:
            break
        print('账号不符合要求,请重新输入!')

    all_user = file_manager.read_json(USERS_FILE, {})

    if user_name in all_user:
        print("注册失败!该账号已经注册过!")
        return

    while True:
        password = input('请输入密码(6~12位):')
        if 6 <= len(password) <= 12:
            break
        print('密码不符合要求,请重新输入!')

    s = model.Teacher(user_name, password)
    all_user[s.name] = s.password
    file_manager.write_json(USERS_FILE, all_user)
コード例 #26
0
def delte_student():
    y = file_manager.read_json(name + '.json', {})
    all_students = y.get('all_student', [])
    key = value = ''

    if not all_students:
        print('该老师还没有学员,请添加学员')
        return

    num = input('1.按姓名删\n2.按学号删\n其他:返回\n请选择:')
    if num == '1':
        key = 'name'
        value = input('请输入要删除的学生名字:')
    elif num == '2':
        key = 's_id'
        value = input('请输入要删除的学生id:')
    else:
        return

    students = list(filter(lambda s: s.get(key, '') == value, all_students))
    if not students:
        print('没有找到对应的学生')
        return

    for i, s in enumerate(students):
        print('{x} 学号:{s_id}, 姓名:{name},性别:{gender},年龄:{age}, ☎:{tel}'.format(
            x=i, **s))
    n = input('请输入需要删除的学生的标号(0~{}),q-返回:'.format(i))  # 使用变量 i 有潜在风险

    if not n.isdigit() or not 0 <= int(n) <= i:
        print('输入的内容不合法')
        return

    # 将学生从all_students里删除
    all_students.remove(students[int(n)])

    y['all_student'] = all_students
    file_manager.write_json(name + '.json', y)
コード例 #27
0
def add_student():
    x = file_manager.read_json(name + '.json', {})
    if not x:
        students = []
        num = 0
    else:
        students = x['all_student']
        num = int(x['num'])
    while True:
        s_name = input('请输入学生姓名:')
        s_age = input('请输入年龄:')
        s_gender = input('请输入性别:')
        s_tel = input('请输入电话号码:')

        num += 1
        # 字符串的zfill方法,在字符串的前面补 0
        s_id = 'stu_' + str(num).zfill(4)

        # 创建一个Student对象
        s = model.Student(s_id, s_name, s_age, s_gender, s_tel)

        # {
        # 'all_student': [
        #       {'name':'zhangsan','age':18,'gender':'男','tel':'110'},
        #       {'name':'zhangsan','age':18,'gender':'男','tel':'110'},
        #   ],
        # 'num': 2
        # }
        students.append(s.__dict__)

        # 拼接字典
        data = {'all_student': students, 'num': len(students)}
        # print(data)
        # 把数据写入到文件里
        file_manager.write_json(name + '.json', data)
        choice = input('添加成功!\n1.继续\n2.返回\n请选择(1-2):')
        if choice == '2':
            break
コード例 #28
0
ファイル: index.py プロジェクト: nbwqk/student
def register():
    # 读取文件,查看文件里是否有数据。如果文件不存在,默认是一个字典。
    data = file_manager.read_json('data.json', {})
    while True:
        teacher_name = input('请输入账号(3—6位):')
        if not 3 <= len(teacher_name) <= 6:
            print('账号不符合要求,请重新输入。')
        else:
            break

    if teacher_name in data:
        print('注册失败,该账号已经注册过了。')
    return

    while True:
        password = input('请输入密码(6—12位):')
        if not 6 <= len(password) <= 12:
            print('密码不符合要求,请重新输入。')
        else:
            break
    # 用户名和密码都创建正确以后,创建一个teacher对象。
    t = model.Teacher(teacher_name, password)
    data[t.name] = t.password
    file_manager.write_json('data.json', data)
コード例 #29
0
def register():
    # 读取文件,查看文件里是否有数据。如果文件不存在,默认是一个字典
    data = file_manager.read_json('data.json', {})
    while True:
        teacher_name = input("请输入账号(3-6位)")
        if not 3 <= len(teacher_name) <= 6:
            print("账号输入有误")
        else:
            break

    if teacher_name in data:
        print("该账号已经注册")
        return

    while True:
        teacher_password = input("请输入密码(6-12位)")
        if not 6 <= len(teacher_password) <= 12:
            print("密码输入有误")
        else:
            break

    t = model.Teacher(teacher_name, tools.encrypt_password(teacher_password))
    data[t.name] = t.password
    file_manager.write_json("data.json", data)
コード例 #30
0
ファイル: index.py プロジェクト: anna19980123/TeamWork
def start():
    while True:
        content = "----------------------\n歡迎來到成績管理系統\n1.管理員登入\n2.學生登入\n3.教授登入\n4.退出\n----------------------\n請選擇1-4\n"
        operator = input(content)
        if operator == "1":
            username = input("請輸入帳號:\n")
            password = input("請輸入密碼:\n")
            data = file_manager.read_json("manager.json", {})
            if username in data:
                if password == data[username]:
                    while True:
                        print("---------------")
                        op = input("1.新增學生\n2.新增教授\n3.新增課程\n4.退出\n")

                        if op == "1":
                            student_data = file_manager.read_json(
                                "student.json", {})
                            student_dataC = student_data.get("all_students")
                            student_size = student_data.get("nums")
                            std_num = "std" + str(int(student_size) + 1)
                            username = input("請輸入帳號:")
                            password = input("請輸入密碼:")
                            enter_year = input("請輸入入學年份(2020):")
                            gender = input("請輸入性別(male/female):")
                            birth = input("請輸入生日(1970/12/25):")

                            s = model.Student(std_num, username, password,
                                              enter_year, gender, birth)
                            student_dataC.append(s.__dict__)
                            student_data['all_students'] = student_dataC
                            student_data['nums'] = student_size + 1
                            file_manager.write_json('student.json',
                                                    student_data)
                            print("添加成功")
                            op = input("繼續請輸入1,退出請輸入2\n")
                            if op == "2":
                                break
                        elif op == "2":
                            professor_data = file_manager.read_json(
                                "professor.json", {})

                            professor_dataC = professor_data.get(
                                "all_professor")

                            professor_size = professor_data.get("nums")
                            pid = "pid" + str(int(professor_size) + 1)
                            username = input("請輸入帳號:")
                            password = input("請輸入密碼:")
                            gender = input("請輸入性別(male/female):")
                            birth = input("請輸入生日(1970/12/25):")
                            p = model.Professor(pid, username, password,
                                                gender, birth)
                            professor_dataC.append(p.__dict__)
                            professor_data = {
                                "all_professor": professor_dataC,
                                "nums": professor_size + 1
                            }
                            file_manager.write_json("professor.json",
                                                    professor_data)
                            print("新增成功\n")
                        elif op == "3":
                            classData = file_manager.read_json(
                                "classname.json", {})
                            num = input("請輸入課程代號:")
                            classname = input("請輸入課程名稱:")
                            points = input("請輸入學分數:")
                            professor = input("請輸入授課教授:")
                            tp = input("請輸入必選修:")
                            c = model.Class(num, classname, points, professor,
                                            tp)
                            classData["all_classname"].append(c.__dict__)
                            file_manager.write_json("classname.json",
                                                    classData)
                            print("新增成功\n")
                        elif op == "4":
                            break
                        else:
                            print("輸入錯誤")
                            break

                else:
                    print('管理員帳號密碼錯誤,一秒後跳轉\n')
                    time.sleep(1)
                    start()
                    break
        elif operator == "2":
            username = input("請輸入帳號:\n")
            password = input("請輸入密碼:\n")
            data = file_manager.read_json("student.json", {})

            for ii in data['all_students']:
                if ii['username'] == username and password == ii['password']:
                    user = ii
                else:
                    print('學生不存在,一秒後跳轉\n')
                    time.sleep(1)
                    start()
            while True:
                print(f"歡迎回來,學生{ii['username']}")
                op = input("-----------\n1.選課\n2.學生資訊\n3.退出\n")
                if op == "1":
                    classData = file_manager.read_json('classname.json', {})
                    classData = classData['all_classname']
                    for i in classData:
                        print(
                            f"課程號碼: {i['num']}, 課程名稱: {i['classname']}, 學分數: {i['points']}, 教授: {i['professor']},類型:{i['tp']}"
                        )
                    op = input("請輸入課程號碼:\n")
                    for i in classData:
                        if i['num'] == op:
                            chooseClass = i
                            print(chooseClass['classname'])
                    c = model.Class(chooseClass['num'],
                                    chooseClass['classname'],
                                    chooseClass['points'],
                                    chooseClass['professor'],
                                    chooseClass['tp'])
                    for i, j in enumerate(data['all_students']):
                        if j['username'] == user['username']:
                            data['all_students'][i]['classname'].append(
                                c.__dict__)
                    file_manager.write_json('student.json', data)
                    print("新增成功")
                elif op == "2":
                    testclass = []
                    for k in user['classname']:
                        testclass.append(k['classname'])
                    print(
                        f"姓名:{user['username']},入學年:{user['enter_year']},性別:{user['gender']},生日:{user['birth']},修課:{testclass}"
                    )
                else:
                    break
        elif operator == "3":
            username = input("請輸入帳號:\n")
            password = input("請輸入密碼:\n")
            data = file_manager.read_json("professor.json", {})
            for ii in data['all_professor']:
                if ii['username'] == username and password == ii['password']:
                    user = ii
                else:
                    print('教授不存在,一秒後跳轉\n')
                    time.sleep(1)
                    start()
            while True:
                print(f"歡迎回來,教授{user['username']}")
                op = input("-----------\n1.查看修課學生\n2.退出\n")
                if op == "1":
                    std = []
                    checkdata = file_manager.read_json("student.json", {})
                    for i in checkdata['all_students']:
                        for j in i['classname']:
                            if j['professor'] == user['username']:
                                std.append(i['username'])
                    for i in range(len(std)):
                        print(f'學生:{std[i]}')

                elif op == "2":
                    break
        elif operator == "4":
            sys.exit(0)
        else:
            print("輸入錯誤!")