Python学生信息管理系统源码

#推荐
Python学生信息管理系统源码

2026-03-17 2
[!--dianshu--] C币
VIP折扣
    折扣详情
  • 体验VIP会员

    免费

  • 月卡VIP会员

    免费

  • 年卡VIP会员

    免费

  • 永久VIP会员

    免费

查看演示
下载不了?请联系网站客服提交链接错误!
TAG标签: 安装指导

#推荐
Python学生信息管理系统源码

2026-03-17 php教程 9999 2
郑重承诺丨总裁主题提供安全交易、信息保真!
TAG标签:
系统源码   管理系统源码
安装指导
[!--dianshu--] C币
VIP权限详情
    会员权限详情
  • 体验VIP会员

    免费

  • 月卡VIP会员

    免费

  • 年卡VIP会员

    免费

  • 永久VIP会员

    免费

开通VIP尊享优惠特权
立即下载 等待添加 升级会员 最新活动
微信扫码咨询 微信扫码咨询

联系电话:18888888888

进入TA的商铺 联系官方客服
详情介绍

欢迎!我白天是个邮递员,晚上就是个有抱负的演员。这是我的网站。我住在天朝的帝都,有条叫做Jack的狗。

一个Python学生信息管理系统源码,包括录入学生信息、查找学生信息、删除学生信息、修改学生信息、排序学生信息、统计学生总数和显示所有学生信息等功能,最近帮朋友写的一个项目,有需要的朋友拿走。

开发环境要求本系统的软件开发及运行环境具体如下。操作系统:Windows 10。Python版本:Python 3.7.0。开发工具:Python IDLE。Python内置模块:os、re。

# _*_ coding:utf-8   _*_import re  # 导入正则表达式模块import os  # 导入操作系统模块 filename = "students.txt"  # 定义保存学生信息的文件名  def menu():    # 输出菜单    print('''    ╔———————学生信息管理系统————————╗    │                                              │    │   =============== 功能菜单 ===============   │    │                                              │    │   1 录入学生信息                             │    │   2 查找学生信息                             │    │   3 删除学生信息                             │    │   4 修改学生信息                             │    │   5 排序                                     │    │   6 统计学生总人数                           │    │   7 显示所有学生信息                         │    │   0 退出系统                                 │    │  ==========================================  │    │  说明:通过数字或↑↓方向键选择菜单          │    ╚———————————————————————╝    ''')  def main():    ctrl = True  # 标记是否退出系统    while (ctrl):        menu()  # 显示菜单        option = input("请选择:")  # 选择菜单项        option_str = re.sub("\D", "", option)  # 提取数字        if option_str in ['0', '1', '2', '3', '4', '5', '6', '7']:            option_int = int(option_str)            if option_int == 0:  # 退出系统                print('您已退出学生成绩管理系统!')                ctrl = False            elif option_int == 1:  # 录入学生成绩信息                insert()            elif option_int == 2:  # 查找学生成绩信息                search()            elif option_int == 3:  # 删除学生成绩信息                delete()            elif option_int == 4:  # 修改学生成绩信息                modify()            elif option_int == 5:  # 排序                sort()            elif option_int == 6:  # 统计学生总数                total()            elif option_int == 7:  # 显示所有学生信息                show()  '''1 录入学生信息'''  def insert():    stdentList = []        # 保存学生信息的列表    mark = True  # 是否继续添加    while mark:        id = input("请输入ID(如 1001):")        if not id:  # ID为空,跳出循环            break        name = input("请输入名字:")        if not name:  # 名字为空,跳出循环            break        try:            english = int(input("请输入英语成绩:"))            python = int(input("请输入Python成绩:"))            c = int(input("请输入C语言成绩:"))        except:            print("输入无效,不是整型数值....重新录入信息")            continue        stdent = {"id": id, "name": name, "english": english, "python": python, "c": c}  # 将输入的学生信息保存到字典        stdentList.append(stdent)  # 将学生字典添加到列表中        inputMark = input("是否继续添加?(y/n):")        if inputMark == "y":  # 继续添加            mark = True        else:  # 不继续添加            mark = False    save(stdentList)  # 将学生信息保存到文件    print("学生信息录入完毕!!!")  # 将学生信息保存到文件def save(student):    try:        students_txt = open(filename, "a")  # 以追加模式打开    except Exception as e:        students_txt = open(filename, "w")  # 文件不存在,创建文件并打开    for info in student:        students_txt.write(str(info) + "\n")  # 按行存储,添加换行符    students_txt.close()  # 关闭文件  '''2 查找学生成绩信息'''  def search():    mark = True    student_query = []  # 保存查询结果的学生列表    while mark:        id = ""        name = ""        if os.path.exists(filename):  # 判断文件是否存在            mode = input("按ID查输入1;按姓名查输入2:")            if mode == "1":                id = input("请输入学生ID:")            elif mode == "2":                name = input("请输入学生姓名:")            else:                print("您的输入有误,请重新输入!")                search()  # 重新查询            with open(filename, 'r') as file:  # 打开文件                student = file.readlines()  # 读取全部内容                for list in student:                    d = dict(eval(list))  # 字符串转字典                    if id is not "":  # 判断是否按ID查                        if d['id'] == id:                            student_query.append(d)  # 将找到的学生信息保存到列表中                    elif name is not "":  # 判断是否按姓名查                        if d['name'] == name:                            student_query.append(d)  # 将找到的学生信息保存到列表中                show_student(student_query)  # 显示查询结果                student_query.clear()  # 清空列表                inputMark = input("是否继续查询?(y/n):")                if inputMark == "y":                    mark = True                else:                    mark = False        else:            print("暂未保存数据信息...")            return  '''3 删除学生成绩信息'''  def delete():    mark = True  # 标记是否循环    while mark:        studentId = input("请输入要删除的学生ID:")        if studentId is not "":  # 判断要删除的学生是否存在            if os.path.exists(filename):  # 判断文件是否存在                with open(filename, 'r') as rfile:  # 打开文件                    student_old = rfile.readlines()  # 读取全部内容            else:                student_old = []            ifdel = False  # 标记是否删除            if student_old:  # 如果存在学生信息                with open(filename, 'w') as wfile:  # 以写方式打开文件                    d = {}  # 定义空字典                    for list in student_old:                        d = dict(eval(list))  # 字符串转字典                        if d['id'] != studentId:                            wfile.write(str(d) + "\n")  # 将一条学生信息写入文件                        else:                            ifdel = True  # 标记已经删除                    if ifdel:                        print("ID为 %s 的学生信息已经被删除..." % studentId)                    else:                        print("没有找到ID为 %s 的学生信息..." % studentId)            else:  # 不存在学生信息                print("无学生信息...")                break  # 退出循环            show()  # 显示全部学生信息            inputMark = input("是否继续删除?(y/n):")            if inputMark == "y":                mark = True  # 继续删除            else:                mark = False  # 退出删除学生信息功能  '''4 修改学生成绩信息'''  def modify():    show()  # 显示全部学生信息    if os.path.exists(filename):  # 判断文件是否存在        with open(filename, 'r') as rfile:  # 打开文件            student_old = rfile.readlines()  # 读取全部内容    else:        return    studentid = input("请输入要修改的学生ID:")    with open(filename, "w") as wfile:  # 以写模式打开文件        for student in student_old:            d = dict(eval(student))  # 字符串转字典            if d["id"] == studentid:  # 是否为要修改的学生                print("找到了这名学生,可以修改他的信息!")                while True:  # 输入要修改的信息                    try:                        d["name"] = input("请输入姓名:")                        d["english"] = int(input("请输入英语成绩:"))                        d["python"] = int(input("请输入Python成绩:"))                        d["c"] = int(input("请输入C语言成绩:"))                    except:                        print("您的输入有误,请重新输入。")                    else:                        break  # 跳出循环                student = str(d)  # 将字典转换为字符串                wfile.write(student + "\n")   # 将修改的信息写入到文件                print("修改成功!")            else:                wfile.write(student)  # 将未修改的信息写入到文件    mark = input("是否继续修改其他学生信息?(y/n):")    if mark == "y":        modify()  # 重新执行修改操作  '''5 排序'''  def sort():    show()  # 显示全部学生信息    if os.path.exists(filename):  # 判断文件是否存在        with open(filename, 'r') as file:  # 打开文件            student_old = file.readlines()  # 读取全部内容            student_new = []        for list in student_old:            d = dict(eval(list))  # 字符串转字典            student_new.append(d)  # 将转换后的字典添加到列表中    else:        return    ascORdesc = input("请选择(0升序;1降序):")    if ascORdesc == "0":  # 按升序排序        ascORdescBool = False           # 标记变量,为False表示升序排序    elif ascORdesc == "1":  # 按降序排序        ascORdescBool = True          # 标记变量,为True表示降序排序    else:        print("您的输入有误,请重新输入!")        sort()      mode = input("请选择排序方式(1按英语成绩排序;2按Python成绩排序;3按C语言成绩排序;0按总成绩排序):")    if mode == "1":  # 按英语成绩排序        student_new.sort(key=lambda x: x["english"], reverse=ascORdescBool)    elif mode == "2":  # 按Python成绩排序        student_new.sort(key=lambda x: x["python"], reverse=ascORdescBool)    elif mode == "3":  # 按C语言成绩排序        student_new.sort(key=lambda x: x["c"], reverse=ascORdescBool)    elif mode == "0":  # 按总成绩排序        student_new.sort(key=lambda x: x["english"] + x["python"] + x["c"], reverse=ascORdescBool)    else:        print("您的输入有误,请重新输入!")        sort()    show_student(student_new)  # 显示排序结果  ''' 6 统计学生总数'''  def total():    if os.path.exists(filename):  # 判断文件是否存在        with open(filename, 'r') as rfile:  # 打开文件            student_old = rfile.readlines()  # 读取全部内容            if student_old:                print("一共有 %d 名学生!" % len(student_old))            else:                print("还没有录入学生信息!")    else:        print("暂未保存数据信息...")  ''' 7 显示所有学生信息 '''  def show():    student_new = []    if os.path.exists(filename):  # 判断文件是否存在        with open(filename, 'r') as rfile:  # 打开文件            student_old = rfile.readlines()  # 读取全部内容        for list in student_old:            student_new.append(eval(list))  # 将找到的学生信息保存到列表中        if student_new:            show_student(student_new)    else:        print("暂未保存数据信息...")  # 将保存在列表中的学生信息显示出来def show_student(studentList):    if not studentList:        print("(o@.@o) 无数据信息 (o@.@o) \n")        return    format_title = "{:^6}{:^12}\t{:^8}\t{:^10}\t{:^10}\t{:^10}"    print(format_title.format("ID", "名字", "英语成绩", "Python成绩", "C语言成绩", "总成绩"))    format_data = "{:^6}{:^12}\t{:^12}\t{:^12}\t{:^12}\t{:^12}"    for info in studentList:        print(format_data.format(info.get("id"), info.get("name"), str(info.get("english")), str(info.get("python")),                                 str(info.get("c")),                                 str(info.get("english") + info.get("python") + info.get("c")).center(12)))  if __name__ == "__main__":    main()

下载地址
  • 提取密码
  • 1561
  • 解压密码
  • DWQwdewq
    立即免费下载
    Python学生信息管理系统源码
收藏 (15) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 ()

所有文章为演示数据,不提供下载地址,版权归原作者所有,仅提供演示效果!

CMS主题网 php教程 Python学生信息管理系统源码 /showinfo-48-131-0.html

我们只做高端Wordpress主题开发!

常见问题
  • 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。
查看详情
  • 最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用
查看详情

相关文章

帝国CMS二次开发 函数文件      PRinterror()/e/class/connect.phpline 132query()/e/class/db_sql.php line 10fetch1()/e/class/db_sql.php line 30fetch()/e/class/db_sql.php line 22checklevel()/e/class/functions.php line 3414insert_dolog()/e/class/functions.php line 3...
#推荐
2026-03-17 14 C币
帝国CMS8.0父子信息调用方      帝国CMS8.0版新增父子信息功能,让一条信息也能成为一个信息、一个栏目、一个专题、甚至一个网站。本文共有四个部分:一、父子信息功能使用流程。二、调用子信息:可以用索引灵动标签调用。三、父子信息列表访问地址的语法说明。四、进阶:调用当前父子信息...
#推荐
2026-03-17 4 C币
帝国CMS判断当前数据库是      有时候我们需要判断数据库是否包含某字段,就可以使用下面这段SQL语法,$fr=$empire->fetch1("SELECT COUNT(*) AS column_exists FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '$infotb' AND COLUMN_NAME = 'money'");if($fr[&...
#推荐
2026-03-17 4 C币
Python开发一个ChatGPT GU      1、首先去下载这个ChatGPT库,用到的库是这个:https://github.com/acheong08/ChatGPT2、安装这个ChatGPT库:pip3 install revChatGPT==0.0.a423、同目录还需要一个“config.json”:{    "session_token": "",    "cf_clearance": "",    "user_agent": "
#推荐
2026-03-17 4 C币
使用CSS Grid Generator拖      如果你是CSS小白,不会使用复杂的UI框架,又需要开发一个响应式网站,那么我的站长站推荐你使用CSS Grid Generator,直接拖拽网格,就可以立即生成响应式CSS代码,复制到自己项目即可使用。使用方法1、首先根据你的项目需求,生成指定的列数和网格数量2、然后拖到...
#推荐
2026-03-17 3 C币
Playwright闲鱼智能监控机      项目介绍Playwright闲鱼智能监控机器人项目,基于 Playwright 和AI过滤分析的闲鱼多任务实时监控与智能分析工具,配备了功能完善的 Web 管理界面。可以实时按规则抓取闲鱼商品,垃圾佬的最爱。闲鱼智能监控机器人:https://github.com/dingyufei615/ai-goof...
#推荐
2026-03-17 3 C币
过年给网站加一对灯笼CSS      马上快过年了,给网站加一对红灯笼,这样才有过年的喜庆劲儿。灯笼是代码生成的无需图片,而且还会摆动。使用方法把HTML下面代码粘贴到网页BODY内任意位子都可以。灯笼的位子可以微调.deng-box的left和right数值。CSS代码<!-- 灯笼代码 --><div class="de...
#推荐
2026-03-17 3 C币
ajax上传文件进度条功能示      ajax上传文件时,有时比较耗时,需要在界面上显示下进度信息,获取ajaxSettings中的xhr对象,为它的upload属性绑定progress事件的处理函数前端代码<!DOCTYPE html><html><head><meta charset="utf8"><title>test upload</title><!--jquery--><script src="h...
#推荐
2026-03-17 3 C币