zoukankan      html  css  js  c++  java
  • 学生管理系统

    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()
  • 相关阅读:
    中等疾病活动度的RA患者持续传统治疗的结果:来自ERAN的数据
    中信国健临床通讯2011年1月第1期目录
    影像学是否应该纳入RA缓解标准?传统评分与修订后复合评分和影像学评估的比较
    RA患者妊娠期使用依那西普维持缓解
    TNFα拮抗剂减少脊髓损伤大鼠神经元和少突胶质细胞的凋亡
    新近起病的活动性RA患者中达标治疗与常规治疗的疗效比较:来自GUEPARD试验和ESPOIR队列的数据
    TNF抑制剂相关的肿瘤风险:阿达木单抗、依那西普和英夫利昔单抗随机对照试验的荟萃分析
    依那西普治疗日本RA患者的安全性与疗效的上市后监察
    依那西普与柳氮磺吡啶治疗强直性脊柱炎的临床疗效与安全性比较:一项随机双盲研究(ASCEND试验)
    POJ3450 Corporate Identity KMP+枚举
  • 原文地址:https://www.cnblogs.com/SP-0306/p/10914454.html
Copyright © 2011-2022 走看看