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

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

  • 个人简介
  • 实验名称:学生信息管理系统
  • 系统功能
  • 实验步骤详讲
      • 添加入住学生信息
      • 删除学生的住宿信息
      • 修改学生的住宿信息
      • 查询学生的住宿信息
      • 显示所有学生住宿信息
      • 显示所有请假学生的信息
  • 运行截图展示
      • 1.主界面
      • 2.添加新的入住学生信息
      • 3.显示所有的学生住宿信息
      • 4.删除学生信息
      • 5.修改一个学生住宿信息
      • 6.查询一个学生住宿信息
      • 7.显示所有请假学生信息
      • 8.退出系统
  • 源代码
  • 结尾

个人简介

🏘️🏘️个人简介:以山河作礼。
🎖️🎖️:Python领域新星创作者,CSDN实力新星认证,阿里云社区专家博主,新星计划导师,数据分析师。
💕💕悲索之人烈焰加身,堕落者不可饶恕。永恒燃烧的羽翼,带我脱离凡间的沉沦。

实验环境:PyCharm Community Edition 2023.2.5

在这里插入图片描述

实验名称:学生信息管理系统

在这里插入图片描述

系统功能

1: 添加入住学生信息
2: 删除学生的住宿信息
3: 修改学生的住宿信息
4: 查询学生的住宿信息
5: 显示所有学生住宿信息
6: 显示所有请假学生的信息
7: 退出系统

实验步骤详讲

定义一个全局变量 student_infors,它是一个空列表,用于存储所有学生的信息。

# 1.定义一个全局变量列表存放所有学生信息
# 全局变量用来存储所有学生信息
student_infors = []

添加入住学生信息

def Add_infor():
    # 定义一个新的字典,用来存储一个新的学生信息
    new_infor = {}
    
    # 通过input函数获取用户输入的学生名字,并将其存储在字典的'student_name'键中
    new_infor['student_name'] = input('请输入新入住的学生名字:')
    
    # 通过input函数获取用户输入的宿舍号+床位号,并将其存储在字典的'D_num'键中
    new_infor['D_num'] = input('请输入宿舍号+床位号(如123-1):')
    
    # 通过input函数获取用户输入的班级,并将其存储在字典的'Class_num'键中
    new_infor['Class_num'] = input('请输入班级:')
    
    # 通过input函数获取用户输入的入住情况,并将其存储在字典的'status'键中
    new_infor['status'] = input('请输入入住情况(在校or请假):')
    
    # 将新的学生信息字典添加到全局变量student_infors列表中
    student_infors.append(new_infor)

该函数的作用是创建一个空的字典new_infor,然后通过input()函数获取用户输入的学生信息,并将这些信息存储在字典的相应键中。最后,将这个字典添加到全局变量student_infors列表中,以便后续使用。

删除学生的住宿信息

# 定义删除一个学生住宿信息的函数
def Delete_infor():
    # 获取用户输入的要删除的学生名字
    del_name = input("请输入要删除的退宿学生名字:")
    # 初始化一个标志变量,用于判断是否找到了要删除的学生信息
    find_flag = False
    # 遍历学生信息列表
    for line in student_infors:
        # 如果当前学生的名字与要删除的学生名字相同
        if line['student_name'] == del_name:
            # 将标志变量设为True,表示找到了要删除的学生信息
            find_flag = True
            # 从学生信息列表中删除当前学生的信息
            student_infors.remove(line)
            # 跳出循环,不再继续查找
            break
    # 如果找到了要删除的学生信息
    if find_flag:
        # 输出提示信息,表示已删除该学生信息
        print("已删除!")
    # 如果没有找到要删除的学生信息
    else:
        # 输出提示信息,表示系统不存在该学生的信息
        print("系统不存在该学生的信息!")

这段代码实现了一个删除学生住宿信息的函数。用户输入要删除的学生名字后,程序会在全局变量student_infors列表中查找匹配的学生信息,如果找到了就将其删除,并打印提示信息;如果没有找到,则打印错误信息。

修改学生的住宿信息

# 定义一个修改一个学生的住宿信息函数v
def Update_one_infor():
    # 提示用户输入要修改的学生姓名
    old_name = input('请输入要修改的学生姓名:')
    # 初始化标志变量为0,表示未找到学生信息
    flag = 0
    # 遍历学生信息列表
    for line in student_infors:
        # 如果当前学生姓名与输入的旧姓名相同
        if line['student_name'] == old_name:
            # 提示用户输入需要修改的学生名字
            line['student_name'] = input('请输入需要修改的学生名字:')
            # 提示用户输入需要修改的宿舍号+床位号(如123-1)
            line['D_num'] = input('请输入需要修改的宿舍号+床位号(如123-1):')
            # 提示用户输入需要修改的班级
            line['Class_num'] = input('请输入需要修改的班级:')
            # 提示用户输入需要修改的入住情况(在校or请假)
            line['status'] = input('请输入需要修改的入住情况(在校or请假):')
            # 将标志变量设为1,表示已找到学生信息并进行了修改
            flag = 1
            # 跳出循环,不再继续查找
            break
    # 如果标志变量为1,表示找到了学生信息并进行了修改
    if flag:
        # 输出提示信息,表示已修改
        print("已修改!")
    # 如果标志变量仍为0,表示未找到学生信息
    else:
        # 输出提示信息,表示系统不存在该学生的信息
        print('系统不存在该学生的信息!')

这段代码通过循环遍历学生信息列表,根据输入的旧姓名找到对应的学生信息,然后依次提示用户输入新的学生名字、宿舍号+床位号、班级和入住情况,并将这些信息更新到学生信息中。如果成功找到并修改了学生信息,则输出"已修改!“;如果未找到学生信息,则输出"系统不存在该学生的信息!”。

查询学生的住宿信息

# 查找某个学生的信息
def Find_one_infor():
    find_nmae = input("请输入要查找的学生姓名:")  # 提示用户输入要查找的学生姓名
    find_flag = 0  # 默认表示没有找到学生信息
    for temp in student_infors:  # 遍历学生信息列表
        if find_nmae == temp['student_name']:  # 如果找到了匹配的学生姓名
            print('学生名字\t宿舍号+床位号\t班级\t\t入住情况')  # 打印表头
            print('%s\t\t%s\t\t%s\t\t%s' % (temp['student_name'], temp['D_num'], temp['Class_num'], temp['status']))  # 打印学生信息
            find_flag = 1  # 表示找到了学生信息
            break  # 跳出循环
    # 判断是否找到学生信息
    if find_flag == 0:
        print('系统不存在该学生的信息')  # 如果没有找到学生信息,则输出提示信息

  • 这段首先通过input函数获取用户输入的学生姓名,并将其赋值给变量find_nmae。然后,它初始化一个标志变量find_flag为0,表示默认情况下没有找到学生信息。
  • 使用for循环遍历学生信息列表student_infors。在每次循环中,它检查当前学生信息的姓名是否与用户输入的姓名相匹配。如果找到了匹配的学生姓名,它将打印出表头和学生信息,并将find_flag设置为1,表示找到了学生信息。然后,使用break语句跳出循环。
  • 使用条件语句判断find_flag的值。如果find_flag等于0,表示没有找到学生信息,因此输出提示信息"系统不存在该学生的信息"。

显示所有学生住宿信息

def Find_all_infor():
    print('学生名字\t宿舍号+床位号\t班级\t\t入住情况')
    for temp in student_infors:
        print('%s\t\t%s\t\t%s\t\t%s' % (temp['student_name'], temp['D_num'], temp['Class_num'], temp['status']))

这段代码的作用是定义一个函数Find_all_infor,用于显示所有学生住宿信息。在函数内部,首先打印表头,然后遍历学生信息列表,逐个打印每个学生的姓名、宿舍号+床位号、班级和入住情况。

显示所有请假学生的信息

# 定义一个显示所有请假学生住宿信息函数
def Find_leave():
    leave_flag = 0  # 默认表示没有找到
    print('学生名字\t宿舍号+床位号\t班级\t\t入住情况')  # 打印表头
    for temp in student_infors:  # 遍历学生信息列表
        if temp['status'] == '请假':  # 如果学生状态为请假
            print('%s\t\t%s\t\t%s\t\t%s' % (temp['student_name'], temp['D_num'], temp['Class_num'], temp['status']))  # 打印学生信息
            leave_flag = 1  # 表示找到了请假学生
    # 判断是否找到请假学生
    if leave_flag == 0:
        print('系统不存在请假学生')  # 如果没有找到请假学生,打印提示信息

这段代码的功能是遍历学生信息列表,查找并打印出所有请假学生的姓名、宿舍号、班级和入住情况。如果没有找到任何请假学生,则输出相应的提示信息。

运行截图展示

1.主界面

在这里插入图片描述

2.添加新的入住学生信息

在这里插入图片描述

在这里插入图片描述

3.显示所有的学生住宿信息

在这里插入图片描述

4.删除学生信息

在这里插入图片描述
在这里插入图片描述

5.修改一个学生住宿信息

在这里插入图片描述

6.查询一个学生住宿信息

在这里插入图片描述

7.显示所有请假学生信息

在这里插入图片描述

8.退出系统

在这里插入图片描述

源代码

需要源代码请扫描下方二维码,加群后免费赠送。
在这里插入图片描述

结尾

在这里插入图片描述
“过去的33年里,我每天早上看着镜子问自己:“今天是我生命的最后一天吗?我是否要去做今天该做的事?”一天一天太多次是“不是”,我知道这需要改变…所有的事情——所有身外的期望,所有的骄傲,所有的对困难和失败的恐惧——这些东西在死亡面前立刻消失的无影无踪,只剩下真正重要的东西。想着自己即将死去,这是让我避免落入担心失去什么的陷阱里的最好的方法。”
—— Steve Jobs

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/203147.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

VUE本地idea启动

安装yarn(也可以用npm) 问题:yarn : 无法加载文件 C:\Users\xx/yarn.ps1,因为在此系统上禁止运行脚本 解决办法:管理员身份运行【 PowerShell】,然后执行【Set-ExecutionPolicy RemoteSigned】&#xff0c…

SHAP(一):具有 Shapley 值的可解释 AI 简介

SHAP(一):具有 Shapley 值的可解释 AI 简介 这是用 Shapley 值解释机器学习模型的介绍。 沙普利值是合作博弈论中广泛使用的方法,具有理想的特性。 本教程旨在帮助您深入了解如何计算和解释基于 Shapley 的机器学习模型解释。 我…

从零开始的c语言日记day39——指针进阶-函数指针

复习上节内容 什么是指针数组什么是数组指针 取地址函数名和函数名都是打印函数地址 Pf指向的参数和函数的参数类型要一至。三种写法都可以实现调用 练习:如何解释图中代码作用 首先看(void(*)()&#xff…

FPGA程序执行相关知识点

1.目前,大多数FPGA芯片是基于 SRAM 的结构的, 而 SRAM 单元中的数据掉电就会丢失,因此系统上电后,必须要由配置电路将正确的配置数据加载到 SRAM 中,此后 FPGA 才能够正常的运行。 常见的配置芯片有EPCS 芯片 &#x…

Java微服务框架 HP-SOA 1.0.5 — 完整支持 Spring Cloud 和 Dubbo

HP-SOA 功能完备,简单易用,高度可扩展的Java微服务框架。 项目主页 : https://www.oschina.net/p/hp-soa下载地址 : https://github.com/ldcsaa/hp-soa开发文档 : https://gitee.com/ldcsaa/hp-soa/blob/master/README.mdQQ Group: 44636872, 66390394…

佳易王羽毛球馆计时计费软件操作教程,软件可以自动计算费用,支持会员管理

一、前言(编程应用实例系列): 佳易王羽毛球馆计时计费软件操作教程,软件可以自动计算费用,支持会员管理 软件有试用版,可以下载试用,了解软件操作和软件功能。 软件试用版下载可以点击最下方…

37.从0到上线三天搭建个人网站(第一天)

点赞收藏加关注,你也能住大别墅! 挑战三天搭建个人网站 从0到上线 一、项目的主要功能 1.作为自己在网上的一个工作室。 2.发帖 3.展示个人项目连接 4.介绍自己(没准儿还能接点活儿) 二、UI风格参考 三、技术选型 1.前端&a…

【C++高阶(六)】哈希的应用--位图布隆过滤器

💓博主CSDN主页:杭电码农-NEO💓   ⏩专栏分类:C从入门到精通⏪   🚚代码仓库:NEO的学习日记🚚   🌹关注我🫵带你学习C   🔝🔝 哈希的应用 1. 前言2. 位图的概念以及定义3. 位…

深度学习——Loss汇总

深度学习——Loss汇总 一、IOU Loss二、L1 Loss 一、IOU Loss 公式: 参考资料: 目标检测回归损失函数——IOU、GIOU、DIOU、CIOU、EIOU 二、L1 Loss 公式: 参考资料: PyTorch中的损失函数–L1Loss /L2Loss/SmoothL1Loss

【FMC140】 基于VITA57.4标准的双通道5.2GSPS(或单通道10.4GSPS)射频采样FMC+子卡模块

板卡概述 FMC140是一款具有缓冲模拟输入的低功耗、12位、双通道(5.2GSPS/通道)、单通道10.4GSPS、射频采样ADC模块,该板卡为FMC标准,符合VITA57.1规范,该模块可以作为一个理想的IO单元耦合至FPGA前端,8通道…

<avue-crud/>,二级表头,children下字典项的dicUrl失效问题

目录 1.提出问题&#xff1a; 1.1 代码&#xff1a; 1.2 效果图&#xff1a;会发现处在children下的dicUrl失效了 2. 解决思路 3. 解决代码&#xff08;你要的都在这&#xff0c;看这里&#xff09; 1.提出问题&#xff1a; 在使用<avue-crud/>组件实现二级表头时&…

Leetcode2336 无限集中的最小数字

题目&#xff1a; 现有一个包含所有正整数的集合 [1, 2, 3, 4, 5, ...] 。 实现 SmallestInfiniteSet 类&#xff1a; SmallestInfiniteSet() 初始化 SmallestInfiniteSet 对象以包含 所有 正整数。int popSmallest() 移除 并返回该无限集中的最小整数。void addBack(int nu…

Linux | Ubuntu设置 netstat(网络状态)

netstat命令用于显示与IP、TCP、UDP和ICMP协议相关的统计数据&#xff0c;一般用于检验本机各端口的网络连接情况。netstat是在内核中访问网络及相关信息的程序&#xff0c;它能提供TCP连接&#xff0c;TCP和UDP监听&#xff0c;进程内存管理的相关报告。 1.netstat的安装 搜…

nodejs最新电商jd m端h5st 4.2签名算法4.2版本逆向,jd API接口,jd商品数据采集

前言&#xff1a; jd m端使用最新的h5st 4.2签名算法&#xff0c;与h5st 4.1版本有很大的不同。在这儿分析一下&#xff0c;供大家参考。 一、目标地址(Base64解码) aHR0cHM6Ly9zby5tLmpkLmNvbS93YXJlL3NlYXJjaC5hY3Rpb24/a2V5d29yZD0lRTklOTklQTQlRTYlQjklQkYlRTYlOUMlQkEmc2…

c++基本常见错误总结

我们无论是在学习中还是在工作当中&#xff0c;总是会遇到各种各样的c编译错误问题&#xff0c;经常会有一种情况就是上一次好像遇到过这种问题&#xff0c;但是就是想不起来了&#xff08;我就是这样&#xff09;所以下面这一篇文章就是总结自己遇到的编译以及运行错误。 注意…

药食同源的食物哪些适合冬季吃?

药食同源的食物是指在中医理论指导下&#xff0c;既是药物又是食物的天然植物和动物&#xff0c;具有营养和药效双重作用。在冬季&#xff0c;由于气候寒冷&#xff0c;人体需要更多的热量和营养来保持温暖和健康&#xff0c;因此药食同源的食物在冬季特别适合食用。以下是几种…

(5h)Unity3D快速入门之Roll-A-Ball游戏开发

DAY1&#xff1a;Unity3D安装 链接 DAY2&#xff1a;构建场景&#xff0c;编写代码 链接 内容&#xff1a;WASD前后左右移动、摄像机跟随 DAY3&#xff1a;待更新 DAY4&#xff1a;待更新 DAY5&#xff1a;待更新

UG\NX二次开发 设置是否允许通过NXOpen锁定属性

文章作者:里海 来源网站:里海NX二次开发3000例专栏 感谢粉丝订阅 感谢 2301_80939425 订阅本专栏,非常感谢。 简介 在使用UF_ATTR_set_locked函数锁定属性前,需要先设置是否允许通过NXOpen锁定属性。使用下面的代码可以修改“用户默认设置”当 NX 启动时,客户默认值将读取…

TA-Lib学习研究笔记(三)——Volatility Indicator

TA-Lib学习研究笔记&#xff08;三&#xff09;——Volatility Indicator 波动率指标函数组 Volatility Indicators: [‘ATR’, ‘NATR’, ‘TRANGE’] 1.ATR Average True Range 函数名&#xff1a;ATR 名称&#xff1a;真实波动幅度均值 简介&#xff1a;真实波动幅度均值…