python的综合应用-学院管理系统
(2022-05-05 10:49:20)分类: Python学习 |
转自:https://www.toutiao.com/article/7089735691076125187/
python的综合应用-学员管理系统
需求功能:
- 添加学员
- 删除学员
- 修改学员信息
- 查询学员信息
- 显示所有学员的信息
- 退出系统
# 定义一个功能界面函数。
def info_print():
print('- - - - - -请选择功能- - - - - -')
print('1、添加学员')
print('2、删除学员')
print('3、修改学员')
print('4、查询学员')
print('5、显示所有学员')
print('6、退出系统')
print(' * ' * 10)
# 准备一个空列表,等待存储所有学员的信息
stu_info = []
# 定义添加学员信息的函数
def stu_add_info():
"""添加学员信息的函数"""
# 1、用户输入:学号、姓名、性别、手机号。
new_id = input('请输入您的8位学号信息:')
new_name = input('请输入您的姓名:')
new_gender = input('请输入您的性别:')
new_tel = input('请输入您的手机号码:')
# 2、判断学员学号是否存在,如果存在则报错,如果不存在则执行添加。
# 2.1 声明stu_info为全局变量
global stu_info
# 2.2 如果学员学号已经存在,则报错提示。不允许id重复:如果用户输入的id和列表里面字典的id对应的值相等则提示。
for i in stu_info: # 遍历列表中的学员字典信息
if new_id == i['id']: # 判断新增的new_id 和字典中id值是否相同
print('此用户已经存在。')
return # 退出添加信息的函数,后面添加信息的函数不执行。
# 2.3 如果输入的姓名不存在,需要加数据:1准备空字典,2字典新增数据,3列表追加字典。
stu_info_dict = {}
# 字典新增数据
stu_info_dict['id'] = new_id
stu_info_dict['name'] = new_name
stu_info_dict['gender'] = new_gender
stu_info_dict['tel'] = new_tel
# print(stu_info_dict) # 打印字典的数据
stu_info.append(stu_info_dict)
print(stu_info)
# 定义删除学员信息的函数
def stu_del_info():
"""删除学员信息的函数"""
# 1、用户输入需要删除的学员的学号。
del_id = input('请输入要删除的学员的学号:')
# 2、判断学员是否存在: 如果存在输入的学号则删除,否则提示报错。
# 2.1 声明stu_info为全局变量
global stu_info
# 2.2 遍历列表
# 2.3 判断学员是否存在:存在执行删除(删除列表中的字典),不存在执行提示操作。
for i in stu_info: # 遍历列表中的学员字典信息
if del_id == i['id']: # 判断新增的new_id 和字典中id值是否相同
stu_info.remove(i) # 删除列表中指定的数据
break # 因为id信息不会重复,遍历列表删除一个后,后续不用在遍历。
else:
print('该学员不存在')
print(stu_info)
# 定义修改学员信息的函数
def stu_modify_info():
"""修改学员信息的函数"""
# 1、用户输入需要修改的学员的学号。
modify_id = input('请输入要修改的学员的学号:')
# 2、判断学员是否存在: 如果存在输入的学号则修改部分信息,如手机号。如果不存在,则报错
# 2.1 声明stu_info为全局变量
global stu_info
# 2.2 遍历列表
# 2.3 判断学员是否存在:存在执行修改(修改列表中的字典),不存在执行提示操作。
for i in stu_info: # 遍历列表中的学员字典信息
if modify_id == i['id']: # 判断新增的new_id 和字典中id值是否相同
i['tel'] = input('请输入新的手机号码:') # 修改列表中指定的数据
break # 因为id信息不会重复,遍历列表修改一个后,后续不用在遍历。
else:
print('该学员不存在')
print(stu_info)
# 定义查询学员信息的函数
def stu_search_info():
"""查询学员信息的函数"""
# 1、用户输入需要修改的学员的学号。
search_id = input('请输入要查询的学员的学号:')
# 2、判断学员是否存在: 如果存在输入的学号则修改部分信息,如手机号。如果不存在,则报错
# 2.1 声明stu_info为全局变量
global stu_info
# 2.2 遍历列表
# 2.3 判断学员是否存在:存在执行删除(删除列表中的字典),不存在执行提示操作。
for i in stu_info: # 遍历列表中的学员字典信息
if search_id == i['id']: # 判断查找的search_id 和字典中id值是否相同
print('- - -您查询的学员信息如下- - -')
print(f"学员学号是{i['id']},姓名是{i['name']},性别是{i['gender']},手机号是{i['tel']}")
break # 因为id信息不会重复,遍历列表查询到之后,后续不用在遍历。
else:
print('该学员不存在')
print(stu_info)
# 定义查询所有学员信息的函数
def stu_print_all_info():
"""打印所有学员信息的函数"""
for i in stu_info:
print("学号,姓名,性别,电话")
print(f"{i['id']},{i['name']},{i['gender']},{i['tel']}")
# 系统功能需要循环使用,指导用户输入6,才能退出系统。
while True:
# 1、显示功能界面
info_print()
# 2、用户输入序号
user_num = int(input('请输入功能序号:'))
# 3、按照用户输入的功能序号,执行不同的功能(函数)
# 如果用户输入1执行添加,如果输入2执行删除,等等
if user_num == 1:
stu_add_info()
elif user_num == 2:
stu_del_info()
elif user_num == 3:
stu_modify_info()
elif user_num == 4:
# print('查询学员')
stu_search_info()
elif user_num == 5:
print('显示所有学员')
stu_print_all_info()
elif user_num == 6:
print('退出系统')
else:
print('您输入的功能序号有误')