> 文档中心 > python 学生管理系统 文件版

python 学生管理系统 文件版


python 学生管理系统文件版

昨天分享了低配版本的学生管理系统, 今天来个高级一丢丢的~
思路就不多说了, 想看的在我昨天的博客有https://blog.csdn.net/LanlanDeming/article/details/103414263

import osdef show_menu():    """显示菜单信息"""    print("-------学生管理系统 V 1.0 -------")    print('1. 添加学生')    print('2. 删除学生')    print('3. 修改学生')    print('4. 查询学生')    print('5. 查询所有学生')    print('6. 退出系统')def insert_student():    # global students_list   # 可以写,可以不写, 列表是可变类型,没有改变引用中    # 1. 获取学生的信息(通过 input()) name, age, gender    name = input("请输入姓名:")    # 4. 输入姓名之后,判断这个学生是否存在    # 4.1 遍历列表    for student in students_list:  # []为空,不会进入循环 # student 是每一个学生,字典 if name == student['name']:     # 代表学生存在,不添加,直接退出     print("^^^^^^^^学生信息已经存在^^^^^^^^^^")     return    age = int(input("请输入年龄:"))    gender = input("请输入性别:")    # 2. 需要将学生保存一个字典中    student_dict = {'name': name, 'age': age, 'gender': gender}    # 3. 将这个学生添加到学生列表中    students_list.append(student_dict)def show_info():    """查看所有学生信息"""    for stu in students_list: # stu 字典 print(stu['name'], stu['age'], stu['gender'])def search_student():    """查看单个学生"""    # 1. 确定查看那个学生, name = input()    name = input("请输入要查询的学生名字:")    #     2. 判断 学生是否存在    for stu in students_list:   # [{}, {}, {}] if stu['name'] == name:     # 相等,找到这个学生     print(f"姓名:{stu['name']}, 年龄:{stu['age']}, 性别:{stu['gender']}")     # break 结束的是循环     # retutn 直接结束函数的执行     break    else: print('该学生信息不存在.........')def modify_student():    """修改学生"""    # 1. 确定修改那个学生, name = input()    name = input("请输入要修改的学生名字:")    #     2. 判断 学生是否存在    for stu in students_list: if stu['name'] == name:     # 相等,找到这个学生, 修改学生信息     stu['age'] = int(input("请输入新的年龄:"))     # break 结束的是循环     # retutn 直接结束函数的执行     break    else: print('该学生信息不存在.........')def remove_student():    """删除学生"""    # 1. 确定删除那个学生, name = input()    name = input("请输入要删除的学生名字:")    #     2. 判断 学生是否存在    for stu in students_list: if stu['name'] == name:     # 相等,找到这个学生, 删除这个学生. 将这个学生的信息从列表中删除     students_list.remove(stu)  # [{}, {}, {}]     # break 结束的是循环     # retutn 直接结束函数的执行     break    else: print('该学生信息不存在.........')def save_data():    """保存学生信息"""    # 1. w 方式打开文件    f = open('student.data', 'w', encoding='utf-8')    f.write(str(students_list))    f.close()def load_data():    """从文件中读取内容"""    global students_list    # 判断文件是否存在    if os.path.exists('student.data'): f = open('student.data', 'r', encoding='utf-8') # "[{'name': 'isaac', 'age': 18, 'gender': 'm'}]" buf = f.read()  # "" students_list = eval(buf)# 定义学生列表students_list = []# 读取文件,只需要一次load_data()while True:    show_menu()    option = input("请输入要进行的操作编号:")    if option == '1': print('******添加学生********') insert_student() # print("添加完成") # print(students_list)    elif option == '2': print('******删除学生********') remove_student()    elif option == '3': print('******修改学生********') modify_student()    elif option == '4': print('******查询学生********') search_student()    elif option == '5': print('******查询所有学生********') show_info()    elif option == '6': print("系统退出, 欢迎下次使用......") save_data() break    else: print('输入有误,重新输入')

MSDN工具下载