实现一个函数版的学生管理系统,非常的简单,不多赘述
'''
学生管理系统
print("-----------------------------")
print(" 学生管理系统 V1.0")
print("1.添加学生")
print("2.删除学生")
print("3.修改学生")
print("4.查询学生")
print("5.显示所有学生")
print("6.退出系统")
print("-----------------------------")
程序分析:
1.学生怎么表示
2.学生可能使用 学号 id, 姓名 name, 年龄 agd, 可以用一个字典便是每一个学生
3.应该有一个容器去保存所有的学生字典,可以用列表实现
4.应该有一个主控函数
5.菜单函数
6.添加学生函数
7.修改学生函数
8.查找学生函数
9.删除学生函数
10.显示所有学生的函数
11.因为创建学生和修改学生都要输入,所以可以搞一个输入函数
12.添加一个功能函数,用来显示每个学生的信息
'''
#定义一个学的列表,用来保存来管理学生
students = []
#主控制函数
def main():
#通过死循环控制程序可以重复运行
while True:
#显示菜单
show_menu()
#键盘输入选择一个功能
select_id = input("请输入一个功能 ID:")
#根据输入调用相对应的功能函数
operator(select_id)
#菜单函数实现
def show_menu():
print("-----------------------------")
print(" 学生管理系统 V1.0")
print("1.添加学生")
print("2.删除学生")
print("3.修改学生")
print("4.查询学生")
print("5.显示所有学生")
print("6.退出系统")
print("-----------------------------")
#功能选择函数
def operator(select_id):
if select_id == '1':
add_stu()
elif select_id == '2':
del_id = input("请输入一个要删除的学生ID:")
del_stu(del_id)
elif select_id == '3':
modify_id = input("请输入一个要修改的学生ID:")
modify_stu(modify_id)
elif select_id == '4':
query_id = input("请输入一个要查询的学生ID:")
search_stu_with_name(query_id)
elif select_id == '5':
show_all_info()
elif select_id == '6':
exit(0) #程序通过exit()方法,可以直接结束程序
else:
print("输入的ID错误,请重新输入")
#实现一个输入函数
#用来从键盘中获取学生信息,并返回
def input_stu_info():
#保存输入的学生信息
stu_id = input("请输入学号:")
stu_name = input("请输入姓名:")
stu_age = input("请输入年龄:")
return stu_id,stu_name,stu_age
def add_stu():
#主体思路,向列表中添加一个字典
#创建一个学生字典,空的
stu={}
#调用输入函数,获取学生信息
stu_info = input_stu_info()
#利用获取的信息为字典添加数据
stu['id'] = stu_info[0]
stu['name'] = stu_info[1]
stu['age'] = stu_info[2]
#将字典加到列表中
students.append(stu)
print(students)
#实现学生查找的功能
#返回被找到的学生
def search_stu_with_name(stu_id):
#遍历每个学生
for stu in students:
# 判断学生是否是要查找的人
if(stu['id']==stu_id):
show_stu_info(stu)
return stu
else:
print(f'学号为{stu_id}的学生不存在')
return None
#实现一个用来显示单个学生信息的函数
def show_stu_info(stu):
print(f"学号:{stu['id']} 姓名:{stu['name']} 年龄:{stu['age']}")
#实现删除学生的函数
def del_stu(del_id):
#找到要删除的学生
stu = search_stu_with_name(del_id)
#从列表中删除
if stu!=None:
students.remove(stu)
print(f"学号为{del_id}的学生删除成功")
#实现修改学生的函数
def modify_stu(modify_id):
#找到要修改的学生
stu = search_stu_with_name(modify_id)
#进行修改
if stu!=None:
#先调用输入函数获取数据
stu_info = input_stu_info()
# 利用获取的信息为字典添加数据
stu['id'] = stu_info[0]
stu['name'] = stu_info[1]
stu['age'] = stu_info[2]
print(f"学号为{modify_id}的学生信息修改成功")
#显示所有学生信息的函数
def show_all_info():
for stu in students:
show_stu_info(stu)
#执行主控函数,运行程序
main()