基于Python实现一个简单的学生管理系统

 更新时间:2022年12月31日 08:44:28   作者:嗨学编程  
这篇文章主要为大家详细介绍了如何利用python实现简单的学生信息管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

序言

小学妹说要毕业了,学了一学期Python等于没学,现在要做毕设做不出来,让我帮帮她,晚上去她家吃夜宵。

当时我心想,这不是分分钟的事情,还要去她家,男孩子晚上不要随便出门,要学会保护好自己,于是我花了十分钟给她写了一个发过去,这下不用去她家了~

代码实战

# 学生信息放在字典里面
student_info = [
    {'姓名': '婧琪', '语文': 60, '数学': 60, '英语': 60, '总分': 180},
    {'姓名': '巳月', '语文': 60, '数学': 60, '英语': 60, '总分': 180},
    {'姓名': '落落', '语文': 60, '数学': 60, '英语': 60, '总分': 180},
]
 
# 死循环 while True 当一直为真
# 源码自取君羊:708525271
while True:
    # 输出
    print(msg)
    # 输入选项
    num = input('请输入你想要进行操作: ')
    # 进行判断, 判断输入内容是什么, 然后返回相应结果
    """
    if .... elif... 多条件判断语句
    """
    if num == '1':
        # 新建学生信息, 输入内容  input 输入的内容, 返回字符串数据类型
        name = input('请输入学生姓名: ')
        chinese = int(input('请输入语文成绩: '))
        math = int(input('请输入数学成绩: '))
        english = int(input('请输入英语成绩: '))
        # 字符串与字符串相加: 字符串拼接  int 整数数据类型
        score = chinese + math + english  # 总分
        # 把信息内容, 放入字典里面
        student_dit = {
            '姓名': name,
            '语文': chinese,
            '数学': math,
            '英语': english,
            '总分': score,
        }
        # 把学生信息 添加到列表里面
        student_info.append(student_dit)
 
    elif num == '2':
        # for循环遍历, 把列表里元素 一个一个提取出来  \t
        print('姓名\t\t语文\t\t数学\t\t英语\t\t总分')
        for student in student_info:
            # student 字典数据类型, 根据键值对, 提取相关内容
            print(
                student['姓名'], '\t\t',
                student['语文'], '\t\t',
                student['数学'], '\t\t',
                student['英语'], '\t\t',
                student['总分'],
            )
 
    elif num == '3':
        name = input('请输入查询学生姓名: ')
        # 遍历  for else 用法
        for student in student_info:
            # 判断 查询名字和学生名字 是否一致
            if name == student['姓名']:
                print('姓名\t\t语文\t\t数学\t\t英语\t\t总分')
                print(
                    student['姓名'], '\t\t',
                    student['语文'], '\t\t',
                    student['数学'], '\t\t',
                    student['英语'], '\t\t',
                    student['总分'],
                )
                # 跳出本次循环 continue 继续循环下面的代码
                
                break
        else:
            # 字符串格式化方法 format
            print('查无此人, 没有{}学生信息!'.format(name))
 
 
    elif num == '4':
        name = input('请输入删除学生姓名: ')
        # 把每一个学生的信息, 一个一个提取出来
        for student in student_info:
            # 判断, 输入的学生姓名 是否在学生信息库里面
            if name == student['姓名']:
                # 打印成绩, 查看学生情况
                print('姓名\t\t语文\t\t数学\t\t英语\t\t总分')
                print(
                    student['姓名'], '\t\t',
                    student['语文'], '\t\t',
                    student['数学'], '\t\t',
                    student['英语'], '\t\t',
                    student['总分'],
                )
                # 输入是否要真的删除学生信息 <防止>
                choose = input(f'是否确定要删除{name}信息(y/n)')
                # or 或者的意思
                if choose == 'y' or choose == 'Y':
                    # 删除信息  移除列表里面元素 remove()
                    student_info.remove(student)
                    print(f'{name}信息已经被删除!')
                    break
                elif choose == 'n' or choose == 'N':
                    # 跳出循环
                    break
        else:
            print('查无此人, 没有{}学生信息!'.format(name))
 
 
    elif num == '5':
        print('修改学生信息')
        name = input('请输入删除学生姓名: ')
        # 把每一个学生的信息, 一个一个提取出来
        for student in student_info:
            # 判断, 输入的学生姓名 是否在学生信息库里面
            if name == student['姓名']:
                # 打印成绩, 查看学生情况
                print('姓名\t\t语文\t\t数学\t\t英语\t\t总分')
                print(
                    student['姓名'], '\t\t',
                    student['语文'], '\t\t',
                    student['数学'], '\t\t',
                    student['英语'], '\t\t',
                    student['总分'],
                )
                # 输入是否要真的删除学生信息 <防止>
                choose = input(f'是否要修改{name}信息(y/n)')
                # or 或者的意思
                if choose == 'y' or choose == 'Y':
                    # 修改操作 和 新建学生信息 有点类似
                    name = input('请输入学生姓名: ')
                    chinese = int(input('请输入语文成绩: '))
                    math = int(input('请输入数学成绩: '))
                    english = int(input('请输入英语成绩: '))
                    # 字符串与字符串相加: 字符串拼接  int 整数数据类型
                    score = chinese + math + english  # 总分
                    # 修改, 做替换  字典修改值
                    student['姓名'] = name
                    student['语文'] = chinese
                    student['数学'] = math
                    student['英语'] = english
                    student['总分'] = score
                    print(f'{name}信息已经修改了!')
                    break
                elif choose == 'n' or choose == 'N':
                    # 跳出循环
                    break
        else:
             print('查无此人, 没有{}学生信息!'.format(name))

效果展示

到此这篇关于基于Python实现一个简单的学生管理系统的文章就介绍到这了,更多相关Python学生管理系统内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • PyTorch的Optimizer训练工具的实现

    PyTorch的Optimizer训练工具的实现

    这篇文章主要介绍了PyTorch的Optimizer训练工具的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-08-08
  • matplotlib部件之套索Lasso的使用

    matplotlib部件之套索Lasso的使用

    这篇文章主要介绍了matplotlib部件之套索Lasso的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • Python虚拟机之super超级魔法的使用和工作原理详解

    Python虚拟机之super超级魔法的使用和工作原理详解

    在本篇文章中,我们将深入探讨Python中的super类的使用和内部工作原理,super类作为Python虚拟机中强大的功能之一,super 可以说是 Python 对象系统基石,他可以帮助我们更灵活地使用继承和方法调用,需要的朋友可以参考下
    2023-10-10
  • 详解如何使用Python实现复制粘贴的功能

    详解如何使用Python实现复制粘贴的功能

    pandas 里面有一个 pd.read_clipboard 函数,可以根据你复制的内容生成DataFrame。本文就利用这个函数实现复制粘贴的功能,感兴趣的可以了解一下
    2023-01-01
  • Python实现基本线性数据结构

    Python实现基本线性数据结构

    这篇文章主要实现四种数据结构,分别是数组、堆栈、队列、链表。大家都知道可以用C语言实现这几种数据结构,其实Python也可以实现,下面跟着小编一起来学习。
    2016-08-08
  • Python元组常见操作示例

    Python元组常见操作示例

    这篇文章主要介绍了Python元组常见操作,结合实例形式分析了Python元组的概念、功能、常见定义、获取、遍历等相关操作技巧与注意事项,需要的朋友可以参考下
    2019-02-02
  • Python异常信息的不同展现方法总结

    Python异常信息的不同展现方法总结

    在日常开发的过程中,当代码报错时,我们通常要不断打印、阅读traceback提示信息,来调试代码,这篇文章介绍了如何实现一个Exception Hooks,使得traceback模块的提示信息更加精确;同时还介绍了一些第三方库,这些库也提供了Exception Hooks的功能
    2022-11-11
  • Python loguru日志库之高效输出控制台日志和日志记录

    Python loguru日志库之高效输出控制台日志和日志记录

    这篇文章主要介绍了python loguru日志库之高效输出控制台日志和日志记录的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-03-03
  • 使用pycharm生成代码模板的实例

    使用pycharm生成代码模板的实例

    今天小编就为大家分享一篇使用pycharm生成代码模板的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05
  • 关于PyTorch环境配置及安装教程(Windows10)

    关于PyTorch环境配置及安装教程(Windows10)

    这篇文章主要介绍了关于PyTorch环境配置及安装教程(Windows10),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-07-07

最新评论