Python学生管理系统示例

发布时间:2019-08-30 08:28:36编辑:auto阅读(1553)

    import os

    stus = [] # 学生信息列表(每个学生的信息以字段存储)

    def add_stu():
    sid = input('输入学生学号:')
    sname = input('输入学生姓名:')
    sage = input('输入学生年龄:')
    dict_stu = {'id': sid.strip(), 'name': sname.strip(), 'age': int(sage.strip())}
    stus.append(dict_stu)

    def remove_stu(name):
    item = search_stu(name)
    stus.remove(item)

    def search_stu(name):
    flag = False
    for s in stus:
    if s['name'] == name.strip():
    print(s)
    flag = True
    return s
    if flag == False:
    print('该学生不存在')
    return None

    def query_all_stu():
    print('序号\tid\tname\tage')
    for i, stu in enumerate(stus, 1):
    print(i, end="")
    print('\t%s\t%s\t%s' % (stu['id'], stu['name'], stu['age']))

    def print_menu():
    print('=' * 30)
    print('学生管理系统'.center(30))
    print('输入1:添加学生')
    print('输入2:查找学生')
    print('输入3:修改学生')
    print('输入4:删除学生')
    print('输入5:查看所有学生')
    print('输入6:退出')

    def file_read():
    try:
    file_name=r'stu.txt'
    if os.path.exists(file_name):
    f = open(file_name, 'r', encoding='utf-8')
    while True:
    line_text = f.readline()
    if line_text == "":
    break
    line_list = line_text.split()
    dict_item={'id':line_list[0],'name':line_list[1],'age':line_list[2]}
    stus.append(dict_item)
    print(line_list)
    f.close()
    else:
    print('file is not exist.')

    except Exception as e:
        print(e)
    finally:
        print('file_read methon is exec completed.')

    def file_write():
    try:
    file_name = r'stu.txt'
    if os.path.exists(file_name):
    os.remove(file_name)
    f = open(file_name, 'w', encoding='utf-8')
    for item in stus:
    line_text = "%s\t%s\t%s" % (item['id'], item['name'], item['age'])
    f.write(line_text)
    f.write('\n')
    f.close()

    except Exception as e:
        print(e)
    finally:
        print('file_write methon exec over..')

    def main():
    file_read()
    while True:
    print_menu()
    operate = input('请输入你想要的操作:')
    if operate == "1":
    add_stu()
    elif operate == "2":
    sname = input("输入学生姓名:")
    search_stu(sname)
    elif operate == "3":
    pass
    elif operate == "4":
    sname = input("请输入删除学生的姓名:")
    remove_stu(sname)
    elif operate == "5":
    query_all_stu()
    else:
    file_write()
    print('exit......')
    break

    main()

关键字

上一篇: Python 装饰器总结

下一篇: python冒泡算法