python学员信息管理系统
一,系统简介
系统需求:能够对学员的相关信息进行添加,删除,修改,查看,排序,能够使得程序能成功运行出对应功能块。
步骤分析
二,显示功能界面
用户输入序号,选择要实现的功能
用户选择系统功能的代码需要循环使用,直到用户主动退出系统
代码实现如下:
def main():
while True:
print("========学员信息管理系统========")
print("********|1.添加学员信息|********")
print("********|2.删除学员信息|********")
print("********|3.修改学员信息|********")
print("********|4.查看学员信息|********")
print("********|5.排序学员信息|********")
print("********|6.退出管理系统|********")
f = int(input("请输入您的选择: "))
if f == 1:
add_students_inf()
elif f == 2:
del_students_inf()
elif f == 3:
mod_students_inf()
elif f == 4:
fid_students_inf()
elif f == 5:
sor_students_inf()
elif f == 6:
break
else:
print("您的输入有误!请重新输入")
if __name__ == '__main__':
main()
三,定义对应功能的模块
所有功能函数都是操作学员信息,所以,存储学员信息的应该是一个列表,而且为全局变量,在列表中存储学员的相关信息,则用字典表示,一个键对应一个键值。
list_students = [ ]
添加学员信息
# 添加学员信息
def add_students_inf():
while True:
global list_students
new_id = int(input("请输入您的学号: "))
for data in list_students:
if new_id == data["id"]:
print("当前学员学号已经存在,请重新添加")
return add_students_inf()
new_name = input("请输入您的姓名: ")
new_sex = input("请输入您的性别: ")
new_age = int(input("请输入您的年龄: "))
new_love = input("请输入您的爱好: ")
dict_student = {}
dict_student["id"] = new_id
dict_student["name"] = new_name
dict_student["sex"] = new_sex
dict_student["age"] = new_age
dict_student["love"] = new_love
list_students.append(dict_student)
print(f"--{new_name}学员信息添加成功!")
function = int(input("是否继续添加学员信息:(1:是 2:返回菜单):"))
if function == 2:
break
结果如下:
删除学员信息
# 删除学员信息
def del_students_inf():
while True:
ID = int(input("请输入要删除学员学号: "))
global list_students
for data in list_students:
if ID == data["id"]:
list_students.remove(data)
print(f"--{ID}号学员信息已被删除!")
break
else:
print(f"--{ID}号学员信息不存在该系统中")
function = int(input("请选择是否继续删除学员信息:(1:是 2:返回菜单):"))
if function == 2:
break
结果如下:
修改学员信息
# 修改学员信息
def mod_students_inf():
while True:
ID = int(input("请输入要修改的学员ID: "))
global list_students
for data in list_students:
if ID == data["id"]:
data["id"] = int(input("请输入新的学号: "))
data["name"] = input("请输入新的姓名: ")
data["sex"] = input("请输入新的性别: ")
data["age"] = int(input("请输入新的年龄: "))
data["love"] = input("请输入新的爱好: ")
print(f"--{ID}号学员信息修改成功!")
else:
print("您所要修改的学员信息不存在该系统中")
mod_students_inf()
function = int(input("请选择是否继续修改学员信息:(1:是 2:返回菜单):"))
if function == 2:
break
结果如下:
查看学员信息
# 查看学员信息
def fid_students_inf():
global list_students
while True:
student_id = int(input("请输入你要查找学员的学号: "))
for data in list_students:
if student_id == data["id"]:
print(
f"当前学员学号为: {data['id']}\n姓名为:{data['name']}\n性别为:{data['sex']}\n年龄为:{data['id']}\n爱好为:{data['love']}\n")
break
else:
print("当前学员学号不存在")
function = int(input("是否继续查找学员信息:(1:是 2:返回菜单):"))
if function == 2:
#print(list_students)
break# 查看学员信息
排序学员信息
-
需求:
用python内置函数sorted对列表里面的元素进行排序,在这里要注意sort函数和sorted的区别
sort()函数是能对原列表进行排序的,但是sorted函数不能对原列表进行排序,因此需要定义一个变量来存取排序后的值并输出。
# 根据学号排序学员信息
def sor_students_inf():
global list_students
k = int(input("请选择您的学号排序方式{0:降序 1:升序}: "))
if k == 0:
way = True
elif k == 1:
way = False
else:
print("您的输入有误,请重新输入!")
sor_students_inf()
a = sorted(list_students, key=lambda x: x.get("id"), reverse=way)
print(a)
print("学员信息已按学号排序成功!")