目录
  •  一.前言
  • 二.开发环境:
  • 三.涉及知识点
  • 四.接下来我们开始敲代码
    • 第一步:制作学生信息管理系统的界面
    • 第二步:新建学生信息
    • 第三步:显示全部学生信息
    • 第四步:查询学生信息
    • 第五步:修改学生信息
    • 第六步: 删除学生信息
  • 五、最后代码

     一.前言

    学生信息管理系统,相信大家或多或少都有做过

    最近看很多学生作业都是制作一个学生信息管理系统

    于是,今天带大家做一个简单的学生信息管理系统

    二.开发环境:

    我用到的开发环境

    • python 3.8
    • pycharm 2021.2

    三.涉及知识点

    • python基础语法
    • 基本的数据类型与结构
    • 基本的逻辑控制语句
    • 实战小项目

    四.接下来我们开始敲代码

    我们一步步来完成学生信息管理系统

    第一步:制作学生信息管理系统的界面

    1. 程序启动,显示信息管理系统欢迎界面,并显示功能菜单 (print)
    2. 用户用数字选择不同的功能 (input)
    3. 根据功能选择,执行不同的功能 (if 判断 多分支选择)
    4. 需要记录学生的 姓名、语文成绩、数学成绩、英语成绩 、总分 (input, 数据容器存储输入的学生信息)
    5. 如果查询到指定的学生信息,用户可以选择 修改 或者 删除 信息 (多分支选择里面的逻辑)
    6. 进入或退出时加载或保存数据 (文件操作)
    """
    str_info = """**************************************************
    欢迎使用【学生信息管理系统】v1.0
    请选择你想要进行的操作
    1. 新建学生信息
    2. 显示全部信息
    3. 查询学生信息
    4. 删除学生信息
    5. 修改学生信息
    
    0. 退出系统
    **************************************************"""
    
    
    while true:
        # 1. 程序启动,显示信息管理系统欢迎界面,并显示功能菜单 (print)
        print(str_info)
        # 2.用户用数字选择不同的功能(input)
        action = input('请选择你要进行的操作(输入数字):')
        if action == '1':
            print('1. 新建学生信息')
        elif action == '2':
            print('2. 显示全部信息')
        elif action == '3':
            print('3. 查询学生信息')
        elif action == '4':
            print('4. 删除学生信息')
        elif action == '5':
            print('5. 修改学生信息')
        elif action == '0':
            print('0. 退出系统')
            break
        else:
            print('请输入正确的选项!')

    效果:

    **************************************************
    欢迎使用【学生信息管理系统】v1.0
    请选择你想要进行的操作
    1. 新建学生信息
    2. 显示全部信息
    3. 查询学生信息
    4. 删除学生信息
    5. 修改学生信息
    
    0. 退出系统
    **************************************************

    第二步:新建学生信息

    需要记录学生的 姓名、语文成绩、数学成绩、英语成绩 、总分 (input, 数据容器存储输入的学生信息)

    name = input('请输入学生的姓名:')
    chinese = int(input('请输入学生的语文成绩:'))
    math = int(input('请输入学生的数学成绩:'))
    english = int(input('请输入学生的英语成绩:'))
    
    total = chinese + math + english
    
    # 用什么数据容器接受比较好?  存储信息, 取值  采用字典
    students = [
        {'name': name, 'chinese': chinese, 'math': math, 'english': english, 'total': total}
    ]
    
    print(students)
    

    第三步:显示全部学生信息

    students = [
        {'name': '正心', 'chinese': 59, 'math': 59, 'english': 59, 'total': 177},
        {'name': '张三', 'chinese': 59, 'math': 59, 'english': 59, 'total': 177},
        {'name': '李四', 'chinese': 59, 'math': 59, 'english': 59, 'total': 177},
        {'name': '王五', 'chinese': 59, 'math': 59, 'english': 59, 'total': 177},
    ]
    
    print('姓名\t语文\t数学\t英语\t总分')
    
    for stu in students:
        # print(stu)
        print(f'{stu["name"]}\t{stu["chinese"]}\t\t{stu["math"]}\t\t{stu["english"]}\t\t{stu["total"]}')
    

    第四步:查询学生信息

    students = [
        {'name': '正心', 'chinese': 59, 'math': 59, 'english': 59, 'total': 177},
        {'name': '张三', 'chinese': 59, 'math': 59, 'english': 59, 'total': 177},
        {'name': '李四', 'chinese': 59, 'math': 59, 'english': 59, 'total': 177},
        {'name': '王五', 'chinese': 59, 'math': 59, 'english': 59, 'total': 177},
    ]
    
    # 5. 如果查询到指定的学生信息,用户可以选择 修改 或者 删除 信息 (多分支选择里面的逻辑)
    
    name = input('请输入你要查询学生的姓名:')
    
    # 先遍历所有学生
    for stu in students:
        # 如果满足条件, 就是查询到了
        if name == stu['name']:
            print('姓名\t语文\t数学\t英语\t总分')
            print(f'{stu["name"]}\t{stu["chinese"]}\t\t{stu["math"]}\t\t{stu["english"]}\t\t{stu["total"]}')
            # 一旦查询到了就停止查询
            break
    
    else:
        # 没找到
        print('该学生不存在, 请检查名字是否输入正确!')
    

    第五步:修改学生信息

    import pprint
    
    students = [
        {'name': '正心', 'chinese': 59, 'math': 59, 'english': 59, 'total': 177},
        {'name': '张三', 'chinese': 59, 'math': 59, 'english': 59, 'total': 177},
        {'name': '李四', 'chinese': 59, 'math': 59, 'english': 59, 'total': 177},
        {'name': '王五', 'chinese': 59, 'math': 59, 'english': 59, 'total': 177},
    ]
    
    # 5. 如果查询到指定的学生信息,用户可以选择 修改 或者 删除 信息 (多分支选择里面的逻辑)
    
    name = input('请输入你要修改学生的姓名:')
    
    # 先遍历所有学生
    for stu in students:
        # 如果满足条件, 就是查询到了, 找到了这个学生
        # 找到了需要修改的学生
        if name == stu['name']:
            # 不想修改, 直接回车
            print('(如果不想修改,直接回车!)')
            name = input('请重新输入学生的姓名:')
            chinese = input('请重新输入学生的语文成绩:')
            math = input('请重新输入学生的数学成绩:')
            english = input('请重新输入学生的英语成绩:')
            # total = chinese + math + english
    
            # 用户输入了数据才修改
            if name:
                stu['name'] = name
            if chinese:
                stu['chinese'] = int(chinese)
            if math:
                stu['math'] = int(math)
            if english:
                stu['english'] = int(english)
    
            stu['total'] = stu['chinese'] + stu['math'] + stu['english']
    
            break
    
    else:
        # 没找到
        print('该学生不存在, 请检查名字是否输入正确!')
    
    pprint.pprint(students)
    

    第六步: 删除学生信息

    import pprint
    
    students = [
        {'name': '正心', 'chinese': 59, 'math': 59, 'english': 59, 'total': 177},
        {'name': '张三', 'chinese': 59, 'math': 59, 'english': 59, 'total': 177},
        {'name': '李四', 'chinese': 59, 'math': 59, 'english': 59, 'total': 177},
        {'name': '王五', 'chinese': 59, 'math': 59, 'english': 59, 'total': 177},
    ]
    
    # 5. 如果查询到指定的学生信息,用户可以选择 修改 或者 删除 信息 (多分支选择里面的逻辑)
    
    name = input('请输入你要删除学生的姓名:')
    
    # 先遍历所有学生
    for stu in students:
        # 找到学生
        if name == stu['name']:
            # 删除学生
            students.remove(stu)
            break
    
    else:
        # 没找到
        print('该学生不存在, 请检查名字是否输入正确!')
    
    pprint.pprint(students)
    

    然后把他们拼接起来,就完成了我们简单的一个学生管理系统!

    五、最后代码

    import json
    
    str_info = """**************************************************
    欢迎使用【学生信息管理系统】v1.0
    请选择你想要进行的操作
    1. 新建学生信息
    2. 显示全部信息
    3. 查询学生信息
    4. 删除学生信息
    5. 修改学生信息
    
    0. 退出系统
    **************************************************"""
    
    # 读取文件
    with open('students.json', mode='r', encoding='utf-8') as f:
        students_str = f.read()
    
    students = json.loads(students_str)
    
    while true:
        # 1. 程序启动,显示信息管理系统欢迎界面,并显示功能菜单 (print)
        print(str_info)
        # 2.用户用数字选择不同的功能(input)
        action = input('请选择你要进行的操作(输入数字):')
        if action == '1':
            print('1. 新建学生信息')
            name = input('请输入学生的姓名:')
            chinese = int(input('请输入学生的语文成绩:'))
            math = int(input('请输入学生的数学成绩:'))
            english = int(input('请输入学生的英语成绩:'))
    
            total = chinese + math + english
            # 新的学生
            stu = {'name': name, 'chinese': chinese, 'math': math, 'english': english, 'total': total}
            students.append(stu)
    
        elif action == '2':
            print('2. 显示全部信息')
            print('姓名\t语文\t数学\t英语\t总分')
    
            for stu in students:
                print(f'{stu["name"]}\t{stu["chinese"]}\t\t{stu["math"]}\t\t{stu["english"]}\t\t{stu["total"]}')
    
        elif action == '3':
            print('3. 查询学生信息')
            name = input('请输入你要查询学生的姓名:')
    
            # 先遍历所有学生
            for stu in students:
                # 如果满足条件, 就是查询到了
                if name == stu['name']:
                    print('姓名\t语文\t数学\t英语\t总分')
                    print(f'{stu["name"]}\t{stu["chinese"]}\t\t{stu["math"]}\t\t{stu["english"]}\t\t{stu["total"]}')
                    # 一旦查询到了就停止查询
                    break
    
            else:
                # 没找到
                print('该学生不存在, 请检查名字是否输入正确!')
    
        elif action == '4':
            print('4. 删除学生信息')
            name = input('请输入你要删除学生的姓名:')
    
            # 先遍历所有学生
            for stu in students:
                # 找到学生
                if name == stu['name']:
                    # 删除学生
                    students.remove(stu)
                    break
    
            else:
                # 没找到
                print('该学生不存在, 请检查名字是否输入正确!')
        elif action == '5':
            print('5. 修改学生信息')
            name = input('请输入你要修改学生的姓名:')
    
            # 先遍历所有学生
            for stu in students:
                # 如果满足条件, 就是查询到了, 找到了这个学生
                # 找到了需要修改的学生
                if name == stu['name']:
                    # 不想修改, 直接回车
                    print('(如果不想修改,直接回车!)')
                    name = input('请重新输入学生的姓名:')
                    chinese = input('请重新输入学生的语文成绩:')
                    math = input('请重新输入学生的数学成绩:')
                    english = input('请重新输入学生的英语成绩:')
                    # total = chinese + math + english
    
                    # 用户输入了数据才修改
                    if name:
                        stu['name'] = name
                    if chinese:
                        stu['chinese'] = int(chinese)
                    if math:
                        stu['math'] = int(math)
                    if english:
                        stu['english'] = int(english)
    
                    stu['total'] = stu['chinese'] + stu['math'] + stu['english']
                    break
            else:
                # 没找到
                print('该学生不存在, 请检查名字是否输入正确!')
        elif action == '0':
            print('0. 退出系统')
            with open('students.json', mode='w', encoding='utf-8') as f:
                # 把列表对象转化成字符串  ascii 编码
                students_str = json.dumps(students, ensure_ascii=false)
                f.write(students_str)
                print(students_str)
            break
        else:
            print('请输入正确的选项!')
    

    到此这篇关于python制作基础学生信息管理系统的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持www.887551.com。