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

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

个人简介

🏘️🏘️个人简介:以山河作礼

🎖️🎖️:Python领域新星创作者,CSDN实力新星认证,阿里云社区专家博主,新星计划导师,数据分析师。

💕💕悲索之人烈焰加身,堕落者不可饶恕。永恒燃烧的羽翼,带我脱离凡间的沉沦。

实验环境:PyCharm Community Edition 2023.2.5

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

系统功能

1: 添加入住学生信息

2: 删除学生的住宿信息

3: 修改学生的住宿信息

4: 查询学生的住宿信息

5: 显示所有学生住宿信息

6: 显示所有请假学生的信息

7: 退出系统

实验步骤详讲

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

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

添加入住学生信息

python 复制代码
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列表中,以便后续使用。

删除学生的住宿信息

python 复制代码
# 定义删除一个学生住宿信息的函数
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列表中查找匹配的学生信息,如果找到了就将其删除,并打印提示信息;如果没有找到,则打印错误信息。

修改学生的住宿信息

python 复制代码
# 定义一个修改一个学生的住宿信息函数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('系统不存在该学生的信息!')

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

查询学生的住宿信息

python 复制代码
# 查找某个学生的信息
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,表示没有找到学生信息,因此输出提示信息"系统不存在该学生的信息"。

显示所有学生住宿信息

python 复制代码
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,用于显示所有学生住宿信息。在函数内部,首先打印表头,然后遍历学生信息列表,逐个打印每个学生的姓名、宿舍号+床位号、班级和入住情况。

显示所有请假学生的信息

python 复制代码
# 定义一个显示所有请假学生住宿信息函数
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

相关推荐
尘浮生3 分钟前
Java项目实战II基于Java+Spring Boot+MySQL的洗衣店订单管理系统(开发文档+源码+数据库)
java·开发语言·数据库·spring boot·mysql·maven·intellij-idea
鸽芷咕4 分钟前
【Python报错已解决】xlrd.biffh.XLRDError: Excel xlsx file; not supported
开发语言·python·机器学习·bug·excel
铁匠匠匠28 分钟前
【C总集篇】第八章 数组和指针
c语言·开发语言·数据结构·经验分享·笔记·学习·算法
Unicorn建模31 分钟前
2024“华为杯”中国研究生数学建模竞赛(E题)深度剖析|数学建模完整过程+详细思路+代码全解析
python·算法·数学建模
编程小白煎堆32 分钟前
C语言:枚举类型
java·开发语言
秋邱36 分钟前
C++: 类和对象(上)
开发语言·c++
好多吃的啊41 分钟前
背景图鼠标放上去切换图片过渡效果
开发语言·javascript·ecmascript
神奇夜光杯1 小时前
Python酷库之旅-第三方库Pandas(123)
开发语言·人工智能·python·excel·pandas·标准库及第三方库·学习与成长
zhangbin_2371 小时前
【Python机器学习】NLP信息提取——提取人物/事物关系
开发语言·人工智能·python·机器学习·自然语言处理
GoFly开发者1 小时前
GoFly快速开发框架/Go语言封装的图像相似性比较插件使用说明
开发语言·后端·golang