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
相关文章:
Python实现学生信息管理系统(详解版)
Python实现学生信息管理系统-详解版 个人简介实验名称:学生信息管理系统系统功能实验步骤详讲添加入住学生信息删除学生的住宿信息修改学生的住宿信息查询学生的住宿信息显示所有学生住宿信息显示所有请假学生的信息 运行截图展示1.主界面2.添加新的入住学生信息3.显…...
企业计算机服务器中了mallox勒索病毒如何解密,mallox勒索病毒文件恢复
随着网络技术的不断发展,网络安全威胁也在不断增加,勒索病毒攻击企业计算机服务器的事件时有发生,并且勒索病毒的加密形式也越来越复杂。近期,云天数据恢复中心陆续接到很多企业的求助,企业的计算机服务器遭到了mallox…...
Linux学习笔记 CenOS6.3 yum No package xxx available
环境CenOS [roothncuc ~]# cat /etc/issue CentOS release 6.2 (Final) Kernel \r on an \m安装gcc的时候提示没有包 [roothncuc ~]# sudo yum install gcc gcc-c libstdc-devel Loaded plugins: refresh-packagekit, security Setting up Install Process No package gcc a…...
【探索Linux】—— 强大的命令行工具 P.18(进程信号 —— 信号捕捉 | 信号处理 | sigaction() )
阅读导航 引言一、信号捕捉1. 内核实现信号捕捉过程2. sigaction() 函数(1)函数原型(2)参数说明(3)返回值(4)函数使用 二、可重入函数与不可重入函数1. 可重入函数条件2. 不可重入函…...
vue3+ts v-model 深度学习
<template><div><h1>我是App.vue组件</h1><div>isShpw:{{ isShow }}</div><div>text:{{ text }}</div><div><button click"isShow !isShow">开关</button></div><hr /><vModeVal…...
网络通信概述
文章目录 IP地址端口号协议三要素作用 五元组协议分层OSI七层模型TCP/IP 五层模型应用层传输层网络层数据链路层物理层 封装和分用发送方 - 封装中间转发接收方 - 分用 一般认为计算机网络就是利用通信线路和通信设备将地理上分散的、具有独立功能的多个计算机系统按不同的形式…...
<avue-crud/>,二级表头,children下字典项的dicUrl失效问题
目录 1.提出问题: 1.1 代码: 1.2 效果图:会发现处在children下的dicUrl失效了 2. 解决思路 3. 解决代码(你要的都在这,看这里) 1.提出问题: 在使用<avue-crud/>组件实现二级表头时&…...
FastApi接收不到Apifox发送的from-data字符串_解决方法
接收不到Apifox发送的from-data字符串_解决方法 问题描述解决方法弯路总结弯路描述纵观全局小结 问题描述 这里写了一个接口,功能是上传文件,接口参数是file文件和一个id字符串 gpt_router.post("/uploadfiles") async def create_upload_fi…...
Python高级数据结构——堆(Heap)
Python中的堆(Heap):高级数据结构解析 堆是一种基于树结构的数据结构,具有高效的插入和删除操作。在本文中,我们将深入讲解Python中的堆,包括堆的基本概念、类型、实现方式、应用场景以及使用代码示例演示…...
linux 讨论题合集(个人复习)
常规文件的权限是什么?如何分配或修改这些权限?文件夹(目录)的权限是什么?显示常规文件和文件夹的区别 讨论:①常规的文件权限有四种,r可读、w可写、x可执行、-没有权限;②可以使用c…...
浅析SD-WAN技术如何加强企业网络安全
在这个数字化时代,企业组网的安全性已经成为许多企业所面临的一个重要挑战。特别是随着云计算、移动办公等新型信息技术的普及,企业网络的规模和复杂度不断增加,网络攻击和数据泄露的威胁也日益增加。因此,企业需要采取更加有效的…...
测试相关-面试高频
测试面试相关 面试 测试的具体场景 功能测试 具体的测试工具Jmeter Postman selenium pytest 怎么看待测试的潜力与挑战 软件测试是正在快速发展,充满挑战的领域。尽管现在许多自动化测试软件的出现使得传统手工测试的方式被代替,但自动化测试工具的…...
基于Java web的多功能游戏大厅系统的开发与实现
摘 要 目前,国内游戏市场上的网络游戏有许多种类,游戏在玩法上也越来越雷同,形式越来越单调。这种游戏性系统给玩家带来的成就感虽然是无穷的,但是也有随之而来的疲惫感,尤其是需要花费大量的时间和精力,这…...
【MySQL工具】my2sql-快速解析binlog
目录 安装 my2sql简介 用途 工具优势 限制 账号所需权限 参数解析 场景 场景1 回滚 场景2 生成正向SQL 场景3 DML与事务统计 场景4 解析本地 与binlog2sql性能对比 安装 安装比较简单 直接下载二进制命令即可使用 wget https://git…...
vueRouter常用属性
vueRouter常用属性 basemodehashhistoryhistory模式下可能会遇到的问题及解决方案 routesprops配置(最佳方案) scrollBehavior base 基本的路由请求的路径 如果整个单页应用服务在 /app/ 下,然后 base 就应该设为 “/app/”,所有的请求都会在url之后加上/app/ new …...
Qt5.15.2的镜像网址
其它版本的qt把相应数字更换即可 已安装的QT怎么更新安装组件。离线版QT安装:已安装的QT怎么更新安装组件。离线版QT安装_哔哩哔哩_bilibili https://mirrors.tuna.tsinghua.edu.cn/qt/online/qtsdkrepository/windows_x86/desktop/qt5_5152_wasm/https://mirrors.…...
Python隐藏特性:字符串驻留、常量折叠
下面是Python字符串的一些微妙的特性,绝对会让你大吃一惊。 案例一: a “some_string” id(a) 140420665652016 id(“some” “_” “string”) # 注意两个的id值是相同的. 140420665652016 案例二: a “wtf” b “wtf” a is b True …...
2-Python与设计模式--工厂类相关模式
23种计模式之 前言 (5)单例模式、工厂模式、简单工厂模式、抽象工厂模式、建造者模式、原型模式、(7)代理模式、装饰器模式、适配器模式、门面模式、组合模式、享元模式、桥梁模式、(11)策略模式、责任链模式、命令模式、中介者模…...
PGP 遇上比特币
重复使用 PGP 密钥作为比特币密钥 介绍 在数字安全领域,密码学在确保数据的完整性和真实性方面发挥着至关重要的作用。 一种广泛使用的加密技术是使用 Pretty Good Privacy (PGP1)。 PGP 为安全通信(例如电子邮件、文件传输和数据存储)提供加…...
项目demo —— GPT 聊天机器人
本文介绍我的开源项目 TelegramChatBot,这是一个基于 OpenAI GPT API 开发的 telegram 机器人,具有多模态交互能力,求 star!感谢大家!在 telegram jokerController_bot 立即体验!欢迎对 GPT 应用开发或对 t…...
多模态2025:技术路线“神仙打架”,视频生成冲上云霄
文|魏琳华 编|王一粟 一场大会,聚集了中国多模态大模型的“半壁江山”。 智源大会2025为期两天的论坛中,汇集了学界、创业公司和大厂等三方的热门选手,关于多模态的集中讨论达到了前所未有的热度。其中,…...
Debian系统简介
目录 Debian系统介绍 Debian版本介绍 Debian软件源介绍 软件包管理工具dpkg dpkg核心指令详解 安装软件包 卸载软件包 查询软件包状态 验证软件包完整性 手动处理依赖关系 dpkg vs apt Debian系统介绍 Debian 和 Ubuntu 都是基于 Debian内核 的 Linux 发行版ÿ…...
什么是库存周转?如何用进销存系统提高库存周转率?
你可能听说过这样一句话: “利润不是赚出来的,是管出来的。” 尤其是在制造业、批发零售、电商这类“货堆成山”的行业,很多企业看着销售不错,账上却没钱、利润也不见了,一翻库存才发现: 一堆卖不动的旧货…...
OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别
OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别 直接训练提示词嵌入向量的核心区别 您提到的代码: prompt_embedding = initial_embedding.clone().requires_grad_(True) optimizer = torch.optim.Adam([prompt_embedding...
华为云Flexus+DeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建
华为云FlexusDeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建 前言 如今大模型其性能出色,华为云 ModelArts Studio_MaaS大模型即服务平台华为云内置了大模型,能助力我们轻松驾驭 DeepSeek-V3/R1,本文中将分享如何…...
Reasoning over Uncertain Text by Generative Large Language Models
https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829 1. 概述 文本中的不确定性在许多语境中传达,从日常对话到特定领域的文档(例如医学文档)(Heritage 2013;Landmark、Gulbrandsen 和 Svenevei…...
Linux离线(zip方式)安装docker
目录 基础信息操作系统信息docker信息 安装实例安装步骤示例 遇到的问题问题1:修改默认工作路径启动失败问题2 找不到对应组 基础信息 操作系统信息 OS版本:CentOS 7 64位 内核版本:3.10.0 相关命令: uname -rcat /etc/os-rele…...
AGain DB和倍数增益的关系
我在设置一款索尼CMOS芯片时,Again增益0db变化为6DB,画面的变化只有2倍DN的增益,比如10变为20。 这与dB和线性增益的关系以及传感器处理流程有关。以下是具体原因分析: 1. dB与线性增益的换算关系 6dB对应的理论线性增益应为&…...
如何更改默认 Crontab 编辑器 ?
在 Linux 领域中,crontab 是您可能经常遇到的一个术语。这个实用程序在类 unix 操作系统上可用,用于调度在预定义时间和间隔自动执行的任务。这对管理员和高级用户非常有益,允许他们自动执行各种系统任务。 编辑 Crontab 文件通常使用文本编…...
Python Einops库:深度学习中的张量操作革命
Einops(爱因斯坦操作库)就像给张量操作戴上了一副"语义眼镜"——让你用人类能理解的方式告诉计算机如何操作多维数组。这个基于爱因斯坦求和约定的库,用类似自然语言的表达式替代了晦涩的API调用,彻底改变了深度学习工程…...
