有粉丝说想让我更一下Python的内容,那今天我们一起学习一个新的小案例——宿舍管理系统。主要涉及列表、字典的初始化、增加、删除、修改和查询操作,以及函数的定义和调用。
一、需求:
-
有操作指引界面,显示操作号
-
能添加一个新的入住学生信息,包括学生姓名、宿舍号+床位号(如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文件实现数据的读写和存储。或者使用数据库连接。
-END-
学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后给大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!
包括:Python激活码+安装包、Python web开发,Python爬虫,Python数据分析,人工智能、机器学习、自动化测试带你从零基础系统性的学好Python!
👉[CSDN大礼包:《python安装工具&全套学习资料》免费分享](安全链接,放心点击)
👉Python学习大礼包👈
👉Python学习路线汇总👈
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。(全套教程文末领取哈)
👉Python必备开发工具👈
温馨提示:篇幅有限,已打包文件夹,获取方式在:文末
👉Python实战案例👈
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
👉Python书籍和视频合集👈
观看零基础学习书籍和视频,看书籍和视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
👉Python面试刷题👈
👉Python副业兼职路线👈
这份完整版的Python全套学习资料已经上传CSDN,朋友们如果需要可以点击链接免费领取或者保存图片到wx扫描二v码免费领取 【保证100%免费
】
👉[CSDN大礼包:《python安装工具&全套学习资料》免费分享](安全链接,放心点击)