百木园-与人分享,
就是让自己快乐。

Python基础案例练习:制作学生信息管理系统

一.前言

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

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

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

二.开发环境:

我用到的开发环境

  • Python 3.8
  • Pycharm 2021.2

三.涉及知识点

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

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

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

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

  • 程序启动,显示信息管理系统欢迎界面,并显示功能菜单 (print)
  • 用户用数字选择不同的功能 (input)
  • 根据功能选择,执行不同的功能 (if 判断 多分支选择)
  • 需要记录学生的 姓名、语文成绩、数学成绩、英语成绩 、总分 (input, 数据容器存储输入的学生信息)
  • 如果查询到指定的学生信息,用户可以选择 修改 或者 删除 信息 (多分支选择里面的逻辑)
  • 进入或退出时加载或保存数据 (文件操作)
  • \"\"\"
    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基础入门教程推荐:←点击左边蓝色文字就可以跳转观看了

    来源:https://www.cnblogs.com/djdjdj123/p/15775745.html
    图文来源于网络,如有侵权请联系删除。

    未经允许不得转载:百木园 » Python基础案例练习:制作学生信息管理系统

    相关推荐

    • 暂无文章