用Python来做一个简单的学生管理系统(附源码)

小学妹说要毕业了,学了一学期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('姓名tt语文tt数学tt英语tt总分')
        for student in student_info:
            # student 字典数据类型, 根据键值对, 提取相关内容
            print(
                student['姓名'], 'tt',
                student['语文'], 'tt',
                student['数学'], 'tt',
                student['英语'], 'tt',
                student['总分'],
            )
 
    elif num == '3':
        name = input('请输入查询学生姓名: ')
        # 遍历  for else 用法
        for student in student_info:
            # 判断 查询名字和学生名字 是否一致
            if name == student['姓名']:
                print('姓名tt语文tt数学tt英语tt总分')
                print(
                    student['姓名'], 'tt',
                    student['语文'], 'tt',
                    student['数学'], 'tt',
                    student['英语'], 'tt',
                    student['总分'],
                )
                # 跳出本次循环 continue 继续循环下面的代码
                
                break
        else:
            # 字符串格式化方法 format
            print('查无此人, 没有{}学生信息!'.format(name))
 
 
    elif num == '4':
        name = input('请输入删除学生姓名: ')
        # 把每一个学生的信息, 一个一个提取出来
        for student in student_info:
            # 判断, 输入的学生姓名 是否在学生信息库里面
            if name == student['姓名']:
                # 打印成绩, 查看学生情况
                print('姓名tt语文tt数学tt英语tt总分')
                print(
                    student['姓名'], 'tt',
                    student['语文'], 'tt',
                    student['数学'], 'tt',
                    student['英语'], 'tt',
                    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('姓名tt语文tt数学tt英语tt总分')
                print(
                    student['姓名'], 'tt',
                    student['语文'], 'tt',
                    student['数学'], 'tt',
                    student['英语'], 'tt',
                    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来做一个简单的学生管理系统(附源码) - Python技术站

(0)
上一篇 2023年3月31日 下午9:13
下一篇 2023年3月31日

相关文章

  • Python做游戏其实很简单,只是你觉得难…

    很多小伙伴都喜欢小游戏源码,想学一手Python做小游戏,问我做游戏难不难,要怎么做,接下来我就介绍一下,如何用Python做游戏。 游戏演示 2048小游戏 表白弹窗 贪吃蛇 五子棋 俄罗斯方块 超多小游戏,让你一个爽个够! 用PyGame做游戏非常简单,我们今天第一篇文章,让大家实现一个可以在地图上移动的小猪。 基本框架 首先,无论你是做什么游戏,别管三…

    Python开发 2023年4月2日
    00
  • Python基于PC版微信实现机器人

    闲着没事总想搞点事情,这不是web版的微信有专门的实时收发消息api,可以用Python直接调用,但是现在基本上登录不了web版微信,所以就用不了了。 但这不是还有windows版的微信吗,于是在基于前辈写好的第三方库,今天我们来实现一下实时收发信息,实现自动聊天机器人。 效果展示 微信实时收发消息 1、第三方库 基于第三方pc-wechat-hook-ht…

    Python开发 2023年4月2日
    00
  • 5个节约生命的python小技巧

    Python是一种强大且易上手的语言,语法简洁优雅,不像Java那么繁琐废话,并且有一些特殊的函数或语法可以让代码变得更加简短精悍。 本文给大家介绍常用的5个python小技巧: 字符串操作 列表推导 lambda 及 map() 函数 if、elif和else单行表达式 zip()函数 1、字符串操作 Python善于用数学运算符(如+和*)对字符串进行操…

    Python开发 2023年4月2日
    00
  • 摸鱼也有效率——8个python自动化脚本提高打工人幸福感

    最近有许多打工人都在吐槽打工好难 每天都是执行许多重复的任务 例如阅读新闻、发邮件、查看天气、打开书签、清理文件夹等等, 使用自动化脚本,就无需手动一次又一次地完成这些任务, 非常方便啊有木有?! 而在某种程度上,Python 就是自动化的代名词。 今天就来和大家一起学习一下, 用8个python自动化脚本提高工作效率~ 快乐摸鱼~ 1、自动化阅读网页新闻 …

    Python开发 2023年4月2日
    00
  • 女同桌找我要表情包,还好我会Python,分分钟给她下载几十个G…

    emmm~ 起因呢,这昨晚女同桌跟我说电脑有点卡,喊我去宿舍给她装个新系统,装系统就装系统吧,结果又说新系统表情包都没保存~ 我当时就有点生气,真当我是万能的呢? 于是我直接就用Python给她爬了几十个G,完事扭头就走,任她怎么喊我也没用! 一、准备工作 使用的环境 python3.8 | Anaconda pycharm 使用的模块 requests 第…

    Python开发 2023年4月2日
    00
  • Python自动化办公:让程序自动分析数据制作报表,并发送邮箱

    序言 作为数据分析师,我们需要经常制作统计分析图表。但是报表太多的时候往往需要花费我们大部分时间去制作报表。这耽误了我们利用大量的时间去进行数据分析。但是作为数据分析师我们应该尽可能去挖掘表格图表数据背后隐藏关联信息,而不是简单的统计表格制作图表再发送报表。既然报表的工作不可免除,那我们应该如何利用我们所学的技术去更好的处理工作呢?这就需要我们制作一个Pyt…

    Python开发 2023年4月2日
    00
  • 这将使你见过最全面的Python制作GUI学生管理系统教程

    表弟大学快毕业了,学了一个学期Python居然还不会写学生管理系统,真的给我丢脸啊,教他又不肯学,还让我直接给他写,我真想两巴掌上去,最终还是写了给他,谁让他是我表弟呢,关键时候还是得帮他一把!       写完了放在那也是放着,所以今天分享给大家吧! 话不多说,咱们直接开始吧!     代码解析 一、登录页面 1、定义登录类及初始化对象 首先导入咱们需要用…

    2023年4月2日
    00
  • 文件太乱了?不要慌,教你用Python全自动整理

    文件太乱了?不要慌,教你用Python全自动整理到对应分类中~ 主要知识点 文件读写 基础语法 字符串处理 循环遍历 素材 先来看看我这乱七八糟的文件​ 这就看起来乱七八糟了,这要是手动整理,还好,哈哈~ 但是几百个上千个文件呢? 所以,还得是有个技能傍身才方便啊! 马上安排! 代码展示 # 我还给大家准备了海量资料:Python视频教程、100本Pytho…

    Python开发 2023年4月2日
    00
合作推广
合作推广
分享本页
返回顶部