最近有小伙伴私信我要出一个学生信息管理系统的函数版,我这宠粉的态度让我立刻写出来分享给你们!!!!!
代码仅供参考
目前功能就这么多 过两天更新进阶版的
datas = {
"students": [{"id": 101, "name": "马云", "age": 19, "sex": "男"},
{"id": 102, "name": "王师", "age": 21, "sex": "男"}]
}
def display_main_menu():
print("选择操作".center(30, "*"))
print("0. 退出程序")
print("1. 添加学生")
print("2. 删除学生")
print("3. 修改学生信息")
print("4. 查看指定学生详细信息")
print("5. 查看所有学生列表")
print()
def check_name():
while True:
name = input("输入学生姓名")
if 2 <= len(name) <= 4:
return name
else:
print("名字不合法(长度位于2-4), 请继续输入")
def check_age():
while True:
age = input("输入学生年纪")
age = int(age)
if 18 <= age <= 25:
return age
else:
print("年纪不合法(区间18-25), 请继续输入")
def check_sex():
while True:
sex = input("输入学生性别")
if sex in ["男", "女", "保密"]:
return sex
else:
print("性别不合法(男/女/保密), 请继续输入")
def add_student():
name = check_name()
age = check_age()
sex = check_sex()
current_id = 101 if not datas["students"] else datas["students"][-1]["id"] + 1
datas["students"].append({
"name": name,
"age": age,
"sex": sex,
"id": current_id
})
print("添加学生成功", datas["students"])
def display_delete_menu():
print("选择操作".center(30, "*"))
print("0. 返回主菜单")
print("1. 删除学生")
print()
def delete_student():
while True:
display_delete_menu()
option = input("输入数字".center(30, "*"))
if option not in ["0", "1"]:
print("输入不合法")
else:
if option == "0":
break
else:
sid = input("输入学生id")
sid = int(sid)
for s in datas["students"]:
if s["id"] == sid:
datas["students"].remove(s)
print("删除成功", datas["students"])
break
else:
print("没有找到该学生")
def display_update_menu():
print("选择操作".center(30, "*"))
print("0. 返回主菜单")
print("1. 更新学生")
print()
def update_student():
while True:
display_update_menu()
option = input("输入数字".center(30, "*"))
if option not in ["0", "1"]:
print("输入不合法")
else:
if option == "0":
break
else:
sid = input("输入学生id")
sid = int(sid)
for s in datas["students"]:
if s["id"] == sid:
name = check_name()
age = check_age()
sex = check_sex()
s.update({
"name": name,
"age": age,
"sex": sex
})
print("更新学生信息成功", datas["students"])
break
else:
print("没有找到该学生")
def display_find_menu():
print("选择操作".center(30, "*"))
print("0. 返回主菜单")
print("1. 查找学生")
print()
def find_student():
while True:
display_find_menu()
option = input("输入数字".center(30, "*"))
if option not in ["0", "1"]:
print("输入不合法")
else:
if option == "0":
break
else:
sid = input("输入学生id")
sid = int(sid)
for s in datas["students"]:
if s["id"] == sid:
print(f"学生: ID:{s['id']}\tName:{s['name']}\tAge:{s['age']}\tSex:{s['sex']}")
break
else:
print("没有找到该学生")
def show_all_student():
if not datas["students"]:
print("暂时没有学生信息")
else:
for s in datas["students"]:
print(f"学生: ID:{s['id']}\tName:{s['name']}\tAge:{s['age']}\tSex:{s['sex']}")
def main():
print("欢迎到来学生管理系统".center(30, "*"))
while True:
display_main_menu()
option = input("输入数字".center(30, "*"))
if option not in ["0", "1", "2", "3", "4", "5"]:
print("输入不合法")
else:
if option == "0":
break
elif option == "1":
add_student()
elif option == "2":
delete_student()
elif option == "3":
update_student()
elif option == "4":
find_student()
elif option == "5":
show_all_student()
else:
print(f"你选择的是{option}")
main()