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

    # 第一题:设计一个全局变量,来保存很多个学生信息;学生(学号, 姓名,年龄);思考要用怎样的结构来保存;
    # 第二题:在第一题基础上,完成:让用户输入一个新的学生信息(学号,姓名,年龄);你将其保存在全局变量中;并提供给用户查看当前有多少个学生的功能;
    # 第三题:向用户提供根据学号查看指定学员具体信息,指定学号删除学员功能
    # 定一个列表,用来存储所有的学生信息(每个学生是一个字典)
    info_list = []
    
    def print_menu():
        print("=" * 42)
        print("*" * 10 + "简单的学生信息管理系统" + "*" * 10)
        print("=" * 42)
        print("1.添加学生信息")
        print("2.删除学生信息")
        print("3.给定学号查询学生信息")
        print("4.显示当前所有学生信息")
        print("5.保存数据")
        print("0.退出系统")
        print("=" * 42)
    
    def add_new_info():
        """添加学生信息"""
        global info_list
        new_sno = input("请输入学生的学号:")
        new_stuName = input("请输入学生的姓名:")
        new_sutAge = input("请输入学生的年龄:")
        for temp_info in info_list:
            if temp_info['sno'] == new_sno:
                print("此用户名已经被占用,请重新输入")
                return # 如果一个函数只有return就相当于让函数结束,没有返回值
        # 定义一个字典,用来存储用户的学生信息(这是一个字典)
        info = {}
        # 向字典中添加数据
        info["sno"] = new_sno
        info["name"] = new_stuName
        info["age"] = new_sutAge
        # 向列表中添加这个字典
        info_list.append(info)
    
    def del_info():
        """删除学生信息"""
        global info_list
        del_sno = input("请输入要删除的学生学号:")
        i = 0
        for temp_info in info_list:
            if temp_info['sno'] == del_sno:
                del_flag = input("你确定要删除么?(yes or no)")
                if del_flag == "yes":
                    del info_list[i]
                    print("
    
    删除成功!")
            else:
                print("输入学号有误,请重新输入")
            i += 1
    
    def search_info():
        """查询学生信息"""
        search_sno = input("请输入要查询的学生学号:")
        for temp_info in info_list:
            if temp_info['sno'] == search_sno:
                print("查询到的信息如下:")
                print("sno:%s, stuName:%s, stuAge:%s" % (temp_info['sno'],
                temp_info['name'], temp_info['age']))
                break
        else:
            print("没有您要找的信息....")
    
    def print_all_info():
        """遍历学生信息查询当前所有学生信息"""
        print("序号	学号		姓名		年龄")
        i = 0
        for temp in info_list:
            # temp是一个字典
            print("%d	%s		%s		%s" % (i, temp['sno'], temp['name'], temp['age']))
            i += 1
    
    def save_data():
        """加载之前存储的数据"""
        f = open("info_data.data","w")
        f.write(str(info_list))
        f.close()
    
    
    def load_data():
        global info_list
        """加载之前存储的数据"""
        f = open("info_data.data")
        content = f.read()
        info_list = eval(content)
        f.close()
    
    def main():
        """用来控制整个流程"""
        # 加载数据(先存好数据再打开这个就可以直接读数据了)
        # load_data()
        while True:
            # 1. 打印功能
            print_menu()
            # 2. 获取用户的选择
            key = input("请输入要进行的操作(数字):")
            # 3. 根据用户选择,做相应的事情
            if key == "1":
                # 添加学生
                add_new_info()
            elif key == "2":
                # 删除学生
                del_info()
            elif key == "3":
                # 给定学号查询学生信息
                search_info()
            elif key == "4":
                # 遍历所有的信息
                print_all_info()
            elif key == "5":
                # 保存数据
                save_data()
            elif key == "0":
                # 退出系统
                exit_flag = input("你确定要退出么?(yes or no) ")
                if exit_flag == "yes":
                    break
            else:
                print("输入有误,请重新输入......")
                input("
    
    
    按回车键继续....")
                continue
    # 程序的开始
    main()
  • 相关阅读:
    VUE body 背景色
    BUTTON莫名出现黄色边框 :focus
    VUE SVG
    【噶】字符串-680. 验证回文字符串 Ⅱ
    【噶】数组-两数之和(哈希表)
    【噶】数组-面试题 16.11. 跳水板
    【噶】字符串-58. 最后一个单词的长度
    Ajax_Jason 使用小Demo
    tomcat_部署项目以及相关问题
    js 表单的选择与反选简单操作
  • 原文地址:https://www.cnblogs.com/zcok168/p/9251107.html
Copyright © 2011-2022 走看看