• 学生管理系统


    import os
    
    # 创建文件全局变量
    file_name = "students.txt"
    
    
    # 显示菜单
    def createMenu():
        print("" * 30)
        print("|							学生管理系统					|")
        print("|				1.添加学生									|")
        print("|				2.删除学生									|")
        print("|				3.修改学生									|")
        print("|				4.查询学生									|")
        print("|				5.显示所有学生								|")
        print("|				6.保存数据									|")
        print("|				7.读取数据									|")
        print("|				8.退出系统									|")
        print("" * 30)
    
    
    # 班级所有的信息
    # all_dict = {"001": {"no": "001", "name": "小明", "score": "90"}}
    all_dict = {}
    
    
    # 1.添加学生
    def add_info():
        # 首先引导用户输入学号
        my_no = input("请输入学号:")
        # 判断用户是否存在
        # 如果不存在,则添加用户信息
        if my_no not in all_dict:
            stu_name = input("请输入学生姓名:")
            stu_score = input("请输入学生成绩:")
            stu_dict = {"no": my_no, "name": stu_name, "score": stu_score}
            all_dict[my_no] = stu_dict
            print("添加学生信息成功……")
        # 如果存在,则打印用户已存在
        else:
            print("学号已经存在……")
            print(all_dict)
    
    
    # 2. 删除学生
    def del_info():
        # 引导用户输入的信息
        my_no = input("请输入用户学号:")
        # 判断用户信息是否存在
        # 如果不存在,打印用户不存在
        if my_no not in all_dict:
            print("用户信息不存在")
        # 如果存在,删除用户信息
        else:
            del all_dict[my_no]
            print("删除学生信息成功")
    
    
    # 3.修改学生
    def change_info():
        # 引导用户输入用户学号
        my_no = input("请输入用户学号:")
        # 判断用户信息是否存在
        if my_no not in all_dict:
            print("用户信息不存在")
        else:
            new_name = input("请输入修改的学生姓名:")
            new_score = input("请输入修改的学生成绩:")
    
            new_dict = {"no": my_no, "name": new_name, "score": new_score}
            all_dict[my_no] = new_dict
            print("修改后的信息为:……")
            print(all_dict)
    
    
    # 4.查询学生
    def find_info():
        # 引导用户输入学号
        my_no = input("请输入学号:")
        # 判断用户输入的学号是否存在
        # 如果不存在,输出用户信息不存在
        if my_no not in all_dict:
            print("用户信息不存在……")
    
        # 如果存在,依次输出用户的学号姓名成绩
        else:
            print("学号:%s" % my_no)
            print("姓名:%s" % all_dict[my_no]["name"])
            print("成绩:%s" % all_dict[my_no]["score"])
    
    
    # 5.显示所有学生
    def show_info():
        for stu_dict in all_dict.values():
            print("-" * 10, "***班级信息***", "-" * 10)
            print("学号:%s" % stu_dict["no"])
            print("姓名:%s" % stu_dict["name"])
            print("成绩:%s" % stu_dict["score"])
            print("-" * 37)
    
    
    # 6.保存数据
    def save_info():
        file = open(file_name, "w", encoding="utf-8")
        file.write(str(all_dict))
        file.close()
        print("文件保存成功")
        print("将内存的文件保存到硬盘里")
    
    
    # 7.读取数据
    def read_info():
        # 判断文件是否存在
        # 如果不存在(用户第一次打开程序)
        if not os.path.exists(file_name):
            file = open(file_name, "w", encoding="utf-8")
            file.close()
            print("用户第一次打开,创建一个新的空文件")
        else:
            file = open(file_name, "r", encoding="utf-8")
            ret = file.read()
            global all_dict
            all_dict = eval(ret)
            file.close()
            print("将硬盘里文件存储到内存里")
    
    
    # 8.退出系统
    def exit_info():
        print("退出学生管理系统")
    
    
    def main():
        while True:
            # 创建菜单项
            createMenu()
            num = int(input("请选择:"))
            if num in range(1, 9):
    
                if num == 1:
                    add_info()
    
                elif num == 2:
                    del_info()
    
                elif num == 3:
                    change_info()
    
                elif num == 4:
                    find_info()
    
                elif num == 5:
                    show_info()
    
                elif num == 6:
                    save_info()
    
                elif num == 7:
                    read_info()
    
                elif num == 8:
                    exit_info()
                    break
            else:
                print("请选择正确的选择:")
    
    
    main()
  • 相关阅读:
    ios特性访问器方法(setter和getter)
    JavaScript文本收缩展开 showdetail
    MSClass (Class Of Marquee Scroll通用不间断滚动JS封装类) Ver 1.65
    拖动层 拖动div 封装js 貌似不兼容FF,郁闷
    cookie中存储json
    页面get post等查看
    瑞星杀毒软件2010年1月11日8:29:28 【免费】
    div两侧的boder断开 消失 奇怪
    用来武装Firebug的十四款Firefox插件
    在内容页中调用母版页控件、响应控件消息(用户控件、服务器控件有所不同)
  • 原文地址:https://www.cnblogs.com/SP-0306/p/10914454.html
Copyright © 2020-2023  润新知