赞
踩
今天我们一起学习一个新的小案例——宿舍管理系统。主要涉及列表、字典的初始化、增加、删除、修改和查询操作,以及函数的定义和调用。
一、需求:
有操作指引界面,显示操作号
能添加一个新的入住学生信息,包括学生姓名、宿舍号+床位号(如313-3)、班级、入住情况(在校or请假)
能删除一个学生的住宿信息,输入名字查询,存在则删除并提示已删除,假如不存在则提示,系统不存在该学生的信息。
能修改一个学生的住宿信息,输入名字查询,存在则让用户重新输入修改信息,并提示已修改,假如不存在则提示,系统不存在该学生的信息。
能查询一个学生的住宿信息,输入名字查询,存在则给出该学生的住宿信息,假如不存在则提示,系统不存在该学生的信息。
能显示所有学生的住宿信息
能显示所有请假学生的住宿信息
能退出系统
二、代码编写
1.定义一个全局变量列表存放所有学生信息
# 全局变量用来存储所有学生信息
student_infors = []
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)
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)
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("系统不存在该学生的信息!")
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('系统不存在该学生的信息!')
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('系统不存在该学生的信息')
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']))
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('系统不存在请假学生')
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")
10.顶格调用主函数,启动软件
main()
一个宿舍管理系统就写好啦!
拓展:大家可以尝试用tinker给软件做界面。也可以考虑使用利用pandas操作Excel文件实现数据的读写和存储。或者使用数据库连接。
看完案例的小伙伴们点个在看,顺便扫码帮忙关注一下呗,你的支持是我继续推新案例的动力。
最后这里免费分享给大家一份Python学习资料,包含视频、源码。课件,希望能帮到那些不满现状,想提升自己却又没有方向的朋友,也可以和我一起来学习交流呀。
编程资料、学习路线图、源代码、软件安装包等!
① Python所有方向的学习路线图
,清楚各个方向要学什么东西
② 100多节Python课程视频
,涵盖必备基础、爬虫和数据分析
③ 100多个Python实战案例
,学习不再是只会理论
④ 华为出品独家Python漫画教程
,手机也能学习
⑤ 历年互联网企业Python面试真题
,复习时非常方便****
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。