当前位置:   article > 正文

Python基础教程——制作一个宿舍管理系统(完整版,附源码)_基于python学生宿舍管理系统

基于python学生宿舍管理系统

今天我们一起学习一个新的小案例——宿舍管理系统。主要涉及列表、字典的初始化、增加、删除、修改和查询操作,以及函数的定义和调用。

一、需求:

  1. 有操作指引界面,显示操作号

  2. 能添加一个新的入住学生信息,包括学生姓名、宿舍号+床位号(如313-3)、班级、入住情况(在校or请假)

  3. 能删除一个学生的住宿信息,输入名字查询,存在则删除并提示已删除,假如不存在则提示,系统不存在该学生的信息。

  4. 能修改一个学生的住宿信息,输入名字查询,存在则让用户重新输入修改信息,并提示已修改,假如不存在则提示,系统不存在该学生的信息。

  5. 能查询一个学生的住宿信息,输入名字查询,存在则给出该学生的住宿信息,假如不存在则提示,系统不存在该学生的信息。

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

  7. 能显示所有请假学生的住宿信息

  8. 能退出系统

    在这里插入图片描述

二、代码编写

1.定义一个全局变量列表存放所有学生信息

# 全局变量用来存储所有学生信息
student_infors = []
  • 1
  • 2

2.定义软件提示界面函数

def Directory():
#学生宿舍管理系统 V1.0
# 1打印功能提示
print('=' * 50)
print('学生宿舍管理系统 V1.0')
print('1:添加一个新的入住学生信息')
print('2:删除一个学生的住宿信息')
print('3:修改一个学生的住宿信息')
print('4:查询一个学生的住宿信息')
print('5:显示所有的学生的住宿信息')
print('6.显示所有请假学生的信息')
print('7:退出系统')
print('=' * 50)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

3.定义添加一个学生住宿信息函数

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

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

4.定义删除一个学生住宿信息的函数

#删除学生信息函数
def Delete_infor():
del_name = input("请输入要删除的退宿学生名字:")
find_flag = False
for line in student_infors:
if line['student_name'] == del_name:
find_flag = True
student_infors.remove(line)
break
if find_flag:
print("已删除!")
else:
print("系统不存在该学生的信息!")
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

5.定义一个修改一个学生的住宿信息函数

# 修改某个学生的信息
def Update_one_infor():
old_name = input('请输入要修改的学生姓名:')
flag = 0
for line in student_infors:
if line['student_name'] == old_name:
line['student_name'] = input('请输入需要修改的学生名字:')
line['D_num'] = input('请输入需要修改的宿舍号+床位号(如313-3):')
line['Class_num'] = input('请输入需要修改的班级:')
line['status'] = input('请输入需要修改的入住情况(在校or请假):')
flag = True
break
if flag:
print("已修改!")
else:
print('系统不存在该学生的信息!')
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

6.定义一个查询某个学生的住宿信息函数

# 查找某个学生的信息
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('系统不存在该学生的信息')
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

7.定义一个显示所有学生住宿信息函数

#查找所有入住学生信息
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']))
  • 1
  • 2
  • 3
  • 4
  • 5

8.定义一个显示所有请假学生住宿信息函数

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
  • 9
  • 10

9.定义一个主函数,根据软件流程要求组织调用功能函数,实现整个系统的功能。

def main():
Directory()
while True:
# 2获取用户选择
num = input('请输入操作序号:')
if num.isdigit():
num = int(num)
if num == 1:
print('1:添加一个新的入住学生信息')
Add_infor()
elif num == 2:
print('2:删除一个学生住宿信息')
Delete_infor()
elif num == 3:
print('3:修改一个学生住宿信息')
Update_one_infor()
elif num == 4:
print('4:查询一个学生住宿信息')
Find_one_infor()
elif num == 5:
print('5:显示所有的学生住宿信息')
print()
Find_all_infor()
elif num == 6:
print('6:显示所有请假学生信息')
Find_leave()
elif num == 7:
print("已退出系统!")
break
else:
print('输入有误!目前只有1-7项功能哦')
continue
print('')
else:
print("输入错误,请重新输入!1-7")
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35

10.顶格调用主函数,启动软件

main()
  • 1

一个宿舍管理系统就写好啦!

拓展:大家可以尝试用tinker给软件做界面。也可以考虑使用利用pandas操作Excel文件实现数据的读写和存储。或者使用数据库连接。

看完案例的小伙伴们点个在看,顺便扫码帮忙关注一下呗,你的支持是我继续推新案例的动力。

最后这里免费分享给大家一份Python学习资料,包含视频、源码。课件,希望能帮到那些不满现状,想提升自己却又没有方向的朋友,也可以和我一起来学习交流呀。
编程资料、学习路线图、源代码、软件安装包等!

看下方图片哦(掉落)↓↓↓

Python所有方向的学习路线图,清楚各个方向要学什么东西
100多节Python课程视频,涵盖必备基础、爬虫和数据分析
100多个Python实战案例,学习不再是只会理论
华为出品独家Python漫画教程,手机也能学习
历年互联网企业Python面试真题,复习时非常方便****

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/525799
推荐阅读
相关标签
  

闽ICP备14008679号