学生管理系统
目标:完成学生管理系统
功能:完成学生的添加、删除、修改、查询功能
# 数据存储仓库
stu_list = [
{'id': 1, 'name': '花花1', 'tel': '1234561'},
{'id': 2, 'name': '花花2', 'tel': '1234562'},
{'id': 3, 'name': '花花3', 'tel': '1234563'},
{'id': 4, 'name': '花花4', 'tel': '1234564'},
{'id': 5, 'name': '花花1', 'tel': '1234565'},
]
# 显示功能界面
def welcome():
print("""
========欢迎进入学生管理系统,请选择你要实现的功能========
********1、添加学员信息********
********2、删除学员信息********
********3、修改学员信息********
********4、查找学员信息********
********5、退出当前系统********
""")
# 获取用户输入的函数
def get_choose_number():
choose_number = input('请输入你的选择编号:') # asdfgh
# 如果不是数字 或者我的数字 不是 1 2 3 4 5
if not choose_number.isdigit() or choose_number not in ['1', '2', '3', '4', '5']:
return -1
return int(choose_number) # 整型的编号
# 主函数
def main():
while True: # 不加只能执行一次
welcome() #
number = get_choose_number() # number有什么用?
if number == -1:
print('编号输入有误,请重新输入!')
continue
if number == 1:
print('调用添加函数的功能')
add_stu()
elif number == 2:
print('调用删除学员的功能')
del_stu()
elif number == 3:
print('调用修改学员的功能')
set_stu()
elif number == 4:
print('调用查找学员的功能')
find_stu()
else:
print('退出系统了')
break
# 添加学员
def add_stu():
# 标志 用于改变我的循环条件
flag = True # -----F
while flag:
new_id = int(input('请输入学号:'))
new_name = input('请输入姓名:')
new_tel = input('请输入手机号:')
# 设置一个空字典 用于临时保存每一个学员的数据
dict_data = {}
dict_data['id'] = new_id
dict_data['name'] = new_name
dict_data['tel'] = new_tel
if dict_data in stu_list:
print('该学员已经被添加过了,请重新添加')
else:
stu_list.append(dict_data)
print(new_name, '同学信息添加成功!!')
print(stu_list)
add_next = input('是否继续添加(1、添加 2、返回系统首页)') # 除了输入2的情况下退出其他情况下默认继续添加的
if add_next == '2':
flag = False
# 删除学员
def del_stu():
flag = True
while flag:
stu_id = int(input('请输入你要删除学员的id:'))
for data in stu_list: # data代表的就是每条学员信息
if data['id'] == stu_id:
stu_list.remove(data)
print('删除成功')
print(stu_list)
break
else:
print('当前的学员id不存在请重新输入!')
del_next = input('是否继续删除学员信息(1、删除 2、不删除)')
if del_next == '2':
flag = False
# 修改学员
def set_stu():
flag = True
while flag:
stu_data = int(input('请输入你要修改的学员学号:'))
for data in stu_list:
if data['id'] == stu_data:
data['id'] = int(input('请输入修改后的id:'))
data['name'] = input('请输入修改后的名字:')
data['tel'] = input('请输入修改后的手机号:')
print('修改成功!!')
break
else:
print('学员id不存在请重新输入')
set_next = int(input('是否继续修改学员信息(1、修改2、不修改)'))
if set_next == 2:
flag = False
print(stu_list) # 检测数据
# 查找学员
"""完善学员管理系统之查找学员功能
模仿前面三个函数功能实现
根据学员名字查询即可。不考虑重复数据能查到即可。"""
def find_stu():
flag = True
while flag:
# 设置一个空列表 用于临时保存学员的数据作为查找结果
temp_res = []
find_name = input("请输入你要查找的学员姓名:")
for data in stu_list:
if find_name == data["name"]:
temp_res.append(data)
if len(temp_res) != 0:
print("查找成功!")
print(temp_res)
else:
print("输入的姓名查询无结果,请重新输入!")
find_next = int(input('是否继续查找学员信息(1、查找2、不查找)'))
if find_next == 2:
flag = False
print(stu_list)
# # 程序主入口
if __name__ == '__main__': # 语法是固定的
main()
查询功能展示:
只展示部分功能,剩余功能可自行运行代码(部分功能点可继续优化,此代码只简易实现功能)。