学生信息管理系统(python)

用Python写一个学生管理系统(附源码) 这里,我就是使用Python+Tkinter写一个带有GUI界面的学生管理系统,功能齐全,代码仅200行左右。 阅读详情

学生信息管理系统


一、目的
1)认识函数,掌握函数的定义和调用方式;
2)掌握不同的参数传递方法及函数的返回值;
3)了解变量作用域,掌握局部变量和全局变量的特点;
4)掌握匿名函数和递归函数的定义和使用;
5)掌握文件的基本操作。
二、课程目标
了解Python的发展历程和未来趋势,了解Python在社会发展中起到的积极作用以及作为软件工程师应具有的一些职业美德和坚守的法律底线。掌握脚本语言程序设计的编程规范、函数模块化编程、文件操作。
三、任务
编程实现学生信息管理系统。
学生信息管理系统应具备以下功能:
(1)实时地将更新后的学生信息保存到磁盘文件中;
(2)添加学生及成绩信息;
(3)修改和删除学生信息;
(4)查询学生信息;
(5)根据学生成绩进行排序;
(6)统计学生的总分。
实现的界面要求如下:
学生信息管理系统
1:录入学生信息
2:查找学生信息
3:删除学生信息
4:修改学生信息
5:对学生进行排序
6:统计学生总人数
7:显示所有学生信息
8:退出系统


请输入您要使用的功能对应的序号:

四、要求
对每个任务求解步骤是:算法思想、程序代码、运行结果的截图。
五、任务设计及结果
1.问题分析
(1)实时地将更新后的学生信息保存到磁盘文件中;
(2)添加学生及成绩信息;
(3)修改和删除学生信息;
(4)查询学生信息;
(5)根据学生成绩进行排序;
(6)统计学生的总分。
2.算法设计
1:录入学生信息: add_student() students.append()
2:查找学生信息: find_student()
3:删除学生信息: delete_student() students.remove()
4:修改学生信息: update_student()
5: 对学生进行排序:sort_students() students.sort(key=lambda x: int(x[“scores”]), reverse=True)
6:统计学生总人数:count_students() count=len()
7:显示所有学生信息:show_students()
8:读取学生列表:load_data()
9:主系统菜单:menu()
10:保存学生列表:save_data()
3.程序代码

import json

# 定义一个空的学生列表,用于存储学生信息
students = []
#定义主菜单函数
def menu():
    print("*************学生信息管理系统*************")
    print("1:录入学生信息")
    print("2:查找学生信息")
    print("3:删除学生信息")
    print("4:修改学生信息")
    print("5:对学生进行排序")
    print("6:统计学生总人数")
    print("7:显示所有学生信息")
    print("8:退出系统")
    print("**************************************")

# 将学生列表保存到磁盘文件中
def save_data():
    #将students列表中的数据以JSON格式保存到students.json文件中
    with open('students.json', 'w') as f:
        json.dump(students, f)

# 从磁盘文件中读取学生列表
def load_data():
    # 全局变量
    global students
    #try-expect处理文件操作可能发生的异常
    try:
        with open('students.json', 'r') as f:
            students = json.load(f)
    except FileNotFoundError:
        # 如果文件不存在,则初始化为空列表
        students = []

#添加学生信息
def add_student():
    ID = input("请输入学号:")
    name = input("请输入学生姓名:")
    prog_score = int(input("请输入学生程序设计成绩:"))
    math_score = int(input("请输入学生高数成绩:"))
    phil_score = int(input("请输入学生马哲成绩:"))
    scores = prog_score + math_score + phil_score
    student = {"ID": ID, "name": name, "prog_score": prog_score,"math_score": math_score,"phil_score": phil_score,"scores": scores}
    students.append(student)
    save_data()
#查找学生信息
def find_student():
    ID = input("请输入要查找的学生学号:")
    name = input("请输入要查找的学生姓名:")
    for student in students:
        if student["name"] == name and student["ID"] == ID:
            print(student)
            return
    print("找不到该学生信息")
#删除学生信息
def delete_student():
    ID = input("请输入要删除的学生学号:")
    name = input("请输入要删除的学生姓名:")
    for student in students:
        if student["name"] == name and student["ID"] == ID:
            print(f"删除前的学生信息{student}")
            students.remove(student)
            save_data()
            print("删除成功")
            print(f"删除后的学生总信息{students}")
            return
    print("找不到该学生信息")
#修改学生信息
def update_student():
    ID = input("请输入要修改的学生学号:")
    name = input("请输入要修改的学生姓名:")
    for student in students:
        if student["name"] == name and student["ID"] == ID:
            print(f"修改前的学生信息{student}")
            prog_score = int(input("请修改学生的程序设计成绩:"))
            math_score = int(input("请修改学生的高数成绩:"))
            phil_score = int(input("请修改学生的马哲成绩:"))
            scores = prog_score + math_score + phil_score
            student["prog_score"] = prog_score
            student["math_score"] = math_score
            student["phil_score"] = phil_score
            student["scores"] = scores
            save_data()
            print("修改成功")
            print(f"修改后的学生信息{student}")
            return
    print("找不到该学生信息")
#对学生进行排序
def sort_students():
    students.sort(key=lambda x: int(x["scores"]), reverse=True)
    print("按学生成绩排序成功")
    for student in students:
        print(student)
#统计学生总人数
def count_students():
    count = len(students)
    print("学生总人数为:", count)
#显示所有学生信息
def show_students():
    print("学生信息如下:")
    for student in students:
        print(student)

# 加载数据文件
load_data()

while True:
    menu()
    option = input("请输入您要使用的功能对应的序号:")

    if option == '1':
        add_student()
    elif option == '2':
        find_student()
    elif option == '3':
        delete_student()
    elif option == '4':
        update_student()
    elif option == '5':
        sort_students()
    elif option == '6':
        count_students()
    elif option == '7':
        show_students()
    elif option == '8':
        break
    else:
        print("输入错误,请重新输入")

4.运行结果
1:录入学生信息
在这里插入图片描述

2:查找学生信息
在这里插入图片描述

3:删除学生信息
在这里插入图片描述

4:修改学生信息
在这里插入图片描述

5:对学生进行排序
在这里插入图片描述

6:统计学生总人数
在这里插入图片描述

7:显示所有学生信息
在这里插入图片描述

8:退出系统
在这里插入图片描述

Python实现简单的学生管理系统 用python实现简易的学生管理系统 阅读详情

相关推荐

基于Python的学生信息管理系统

文章目录 前言 一、Python是什么? 二、编写程序及其运行截图 1.编写函数 2.完成函数内部的编写 3.代码演示 4.运行截图 总结 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着信息技术的不断发展,许多工作机器取代了人工。通过Python对学生信息管理系统的编写,在很大程度上减轻了老师们的负担,使得学校的办事效率有了更大的提高。 提示:以下是本篇文章正文内容,下面案例可供参考 一、Python是什么? Python 语言是在 ...

m0_51962800的博客 7975

Python课程设计 | 实现学生信息管理系统

本文介绍了一个简单的学生信息管理系统,包括管理员登录、重置学生密码、添加、删除和修改学生信息、查询学生信息以及对学生成绩进行排序等功能。该系统使用Python编写,基于控制台交互

Python栈 2万+

Python项目-学生信息管理系统

一、功能介绍 学生信息管理系统实现的功能如下: 1、添加学生信息 2、删除学生信息 3、修改学生信息 4、查询学生信息 5、显示所有学生信息 6、按班级查询学生信息 7、退出系统 二、代码实现 # 定义打印系统函数 def info_print(): print('--------请选择功能-----') print('1、添加学生信息') print('2、删除学生信息') print('3、修改学生信息') print('4、查询学生信息') print

weixin_44556353的博客 9961

Python之学生信息管理系统

python实现简易版学生信息管理系统

申小兮和林小兮的博客宝 7万+

用python做学生信息管理系统期末作业

到这里本系统的制作就结束了,这也是本人所写的第一篇博客文章,希望可以帮到那些初学Python的小伙伴们,如果上述代码有任何问题或者疑惑,欢迎大家评论指出,日后一定改进。今后也会陆续向大家分享自己所学的知识,希望大家关注,不喜勿喷。

小发猫 1239

python做学生信息管理系统,python编辑学生信息系统

在我的前一篇博客中我使用了Tinker作为基础,但是Tinker的缺点就是太枯燥,在美化方面不是很容易进行,因此这次我想分享一下使用pyqt5制作的学生管理系统。当然这其实也是我的一个课时作业,在上次的基础上,我们不再使用表格,而是运用大家使用更多的储存数据的方式——mysql数据库,通过调用数据库中的数据来实现我们的增删改查,且带有登录界面的管理系统python简单图案代码。接下来我将与大家分享一下我的学生信息管理系统。

S1112_的博客 2321

使用Python编写简单学生管理系统

需求:进入系统显示系统功能界面,功能如下:① 添加学员信息② 删除学员信息③ 修改学员信息④ 查询学员信息(只查询某个学员)⑤ 遍历所有学员信息⑥ 退出系统系统共6个功能,用户根据自己需求选取。

qq_55451220的博客 7274

[Python] 学生信息管理系统 总结

[Python] 学生信息管理系统 总结 需求分析:学生信息管理系统的功能 模块调用: 总体展示 def menu(): # 菜单显示 pass def main(): # 主程序 pass def insert(): # 插入学生信息 pass def save(lst): # 保存学生信息 pass def search(): # 查找学生信息:支持id和姓名查找 pass def delete(): # 删除学生信息 pass

CRAJA的blog 7240

Python程序设计之 —— 简易学生信息管理系统

Python程序设计之 —— 简易学生信息管理系统

好好读书 1万+

未来计算的革命:探索存算一体芯片的潜力与挑战

未来计算的革命:探索存算一体芯片的潜力与挑战

jtwqwq的博客 1611

Doris副本修复实战:从状态机到手动修复的完整指南

在分布式数据库系统中,多副本机制是实现高可用与数据一致性的核心技术。其原理是通过在不同节点存储数据的多个拷贝,确保部分节点故障时服务仍可继续。这项技术的核心价值在于保障数据可靠性,并支撑在线分析处理(OLAP)等对数据一致性要求高的应用场景。当副本出现损坏、丢失或版本不一致时,系统通常依赖自动修复机制,但在元数据损坏、多副本同时故障等复杂场景下,自动修复可能失效,需要深入理解副本状态机并借助手动工具介入。本文将聚焦Doris数据库,解析Tablet副本状态流转(如BAD、VERSION_ERROR),并详细

weixin_32288959的博客 460

基于python的简单学生信息管理系统

针对传统的学生信息管理方式,效率低下,不易存储,和数字化等问题,开发基于 Python 的学生信息管理系统,用于管理学生的个人信息和学习记录。它可以帮助教师和管理员更有效地管理学生信息,如学生基本信息、成绩、课程安排、考试记录等。同时,信息化、数字化的管理方法符合高校建设数字校园的宗旨,有利于促进信息的保存和共享。而Python相对于其他语言具有简单易学,易维护等特点,在系统开发领域应用十分广泛。本系统是由Python语言进行开发的一套简易学生信息管理系统,功能齐全,操作简便,实用性高。

qq_33534211的博客 8312

基于Simulink/Matlab的VSG并网系统单相接地与相间短路故障仿真建模与特性分析

本文详细介绍了基于Simulink/Matlab搭建虚拟同步发电机(VSG)并网系统仿真模型的方法,并重点分析了单相接地与相间短路故障下的系统特性。通过设置三相故障模块参数,模拟了故障发生时的电压、电流变化及VSG动态响应,为理解故障机理、优化控制策略及设计继电保护提供了仿真依据与实践指导。

t8u9v0w1x的博客 514

基于python的学生信息管理系统

完整代码 import pymysql index=''' +---------------------+ 首页 欢迎来到学生信息管理系统 1.登陆 2.注册 3.quit(按任意键退出) +---------------------+ ''' login=''' +------

weixin_52134263的博客 6411

【超详细】数据分析笔试题分享,可以收藏后仔细阅读_数据分析岗位笔试题目

这种做法是最精确的做法,保留了所有的信息,也未添加任何额外信息,若预处理时把所有的变量都这样处理,会大大增加数据的维度。15、在某座城市出现了某种流行病,且已知某座城市男女人数相同,男性患该病的概率为5%,女性为0.25%,现已知该城市的小明得了此病,请问小明为男性的概率是() B。D项,使用方差作为特征评分标准,如果某个特征的取值差异不大,通常认为该特征对区分样本的贡献度不大,因此在构造特征过程中去掉方差小于阈值的特征。LTV,用户生命周期价值,是产品从用户获取到流失所得到的全部收益的总和。

2401_89824744的博客 948

从选型到阵列:基于ESP32-S3的智能硬件麦克风系统设计实战

本文详细介绍了基于ESP32-S3芯片设计智能硬件麦克风阵列的完整实战方案。从核心芯片选型、数字MEMS麦克风的参数解读与电路设计,到关键的声学结构密封、阵列布局策略,再到利用ESP-ADF框架构建音频处理流水线并集成回声消除、噪声抑制等算法,提供了从硬件到软件的全链路设计指南与避坑要点,旨在实现清晰、稳定的远场语音交互。

weixin_29173777的博客 266

Python实现学生信息管理系统(详解版)

系统功能 1: 添加入住学生信息 2: 删除学生的住宿信息 3: 修改学生的住宿信息 4: 查询学生的住宿信息 5: 显示所有学生住宿信息 6: 显示所有请假学生的信息 7: 退出系统 实验步骤详讲 定义一个全局变量 student_infors,它是一个空列表,用于存储所有学生的信息。

weixin_50804299的博客 1万+

IEEE投稿完整流程——以IEEE Transactions on Cybernetics为例【附:论文格式模板】

前言 以下是官方的流程,包括了论文的格式和提交的流程,重要!重要!重要! 在IEEE的官网中,也有论文提交的文件 可以直接参考: 中文版: 作者指南 英文版: Manuscripts-Author-Guide 作者指南的版本指导流程可能和最新版的官网不一致!!! 或者在下面的链接中,按照你的论文类型,选择不同的论文模板: IEEE article template 以下以IEEE Transactions on Cybernetics 为例子 IEEE Transactions on Cyberne

XC___XC的博客 10万+

python做学生信息管理系统,python学生信息管理系统

一、系统简介大家好,小编来为大家解答以下问题,用python写学生信息管理系统包括数据保存和读取,python编写学生管理系统,用gui做ui,今天让我们一起来看看吧!一、系统简介实现一个学生信息的管理系统:主要功能有:添加学生信息删除学生信息修改学生信息查询学生信息显示学生信息退出当前系统二、步骤分析显示功能界面用户输入功能序号对不同序号的功能实现具体函数(3.1 定义函数、3.2 调用函数)三、需求实现显示功能界面用户输入功能序号。

chatgpt002的博客 6019

全网最详细的 Ubuntu 18.04 安装Livox mid-360驱动,测试 fast_lio2

Livox mid-360需要使用Livox-SDK2,而非Livox-SDK,以及对应的。并需要修改FAST_LIO中部分代码。Faster—LIO;Faster-LIO:快速激光IMU里程计。Faster-LIO:快速激光IMU里程计PDF。大部分Lidar SLAM都是基于loam进行改造的,基本上是通过线特征edge和面特征(面点)分割进行配准得到里程计的,而fast-lio2是通过一个迭代扩展卡尔曼滤波器去优化帧内位姿,然后通过输入点云与地图进行配准得到里程计,精度和鲁棒性都不错。

努力努力努力 6238

一文掌握 Playwright 的详细使用

Playwright 是一个功能强大的浏览器自动化工具,适用于网页自动化测试、数据抓取和网页交互。通过掌握其基础用法和高级功能,你可以轻松实现各种浏览器自动化任务。Playwright 支持多浏览器、多语言,并且具有高效的异步操作能力,是现代浏览器自动化的首选工具之一。

数据知道的博客 1万+

Python制作基础学生信息管理系统

本文详细讲解了Python制作基础学生信息管理系统的实现,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 目录 一.前言 二.开发环境: 三.涉及知识点 四.接下来我们开始敲代码 第一步:制作学生信息管理系统的界面 第二步:新建学生信息 第三步:显示全部学生信息 第四步:查询学生信息 第五步:修改学生信息 第六步: 删除学生信息 五、最后代码 一.前言 学生信息管理系统,相信大家或多或少都有做过 最近看很多学生作..

m0_63171455的博客 8339

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

python:学生信息管理系统

本篇文章详细讲解学生信息管理系统制作。 首先要做一个系统首先要明确这个系统要有什么功能,需要进行怎样的设计。对于一个系统应该怎样去做: 那么先对学生信息管理系统进行一个需求分析:学生管理系统应具备的功能:系统功能结构 学生信息管理系统的七大模块 录入学生信息模块 查找学生信息模块 删除学生信息模块 修改学生信息模块 学生成绩排名模块 统计学生总人数模块 显示全部学生信息模块.........

qq_61380148的博客 3万+

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

【Python】(学生信息管理系统)

@[Python](学生信息管理系统) 使用python编写学生信息管理系统,实现学生信息的插入、删除、修改、查询、统计所有学生信息、排序。 1.插入学生信息 def insert(): while True: studentList = [] id = input('请输入学号:') name = input('请输入姓名:') english = int(input('英语成绩:')) math = int(in

gsgs1234的博客 3791

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

上一篇: python实验3:函数和文件操作
下一篇: 函数的参数(python学习第六弹)
小柚柚0.o
博客等级 码龄4年 170粉丝 42原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值