目录
1.各函数介绍:
def meun()菜单函数
def add_info(student_info)添加学生信息
def show_info(student_info)显示所有的信息
def delete_info(student_info)删除学生信息
def get_number(*t)得到学号的值
def get_score(*t)得到成绩的值
def sort_info(student_info)排序
def main()主函数
2.功能详解:
(1)菜单显示:
(2)添加信息:
每次添加一名学生的信息,依次输入学号、姓名、成绩,如果输入的学号与记录中的重复则退出添加框,转到主菜单请用户重新选择。
(3)显示信息
显示全部的已存入的学生信息
(4)删除信息:
全部删除就是删除全部记录,按学号删除就是先找到要找到列表中的学号相同的字典,然后删除,如果没有则显示“没有找到!”,返回主菜单。
(5)查找记录
姓名查找就是输入姓名,输出这条记录。如果没有则显示“没有找到!”,返回主菜单。
同理,学号查找就是输入学号。
(6)排序{由低到高}:
学号:
成绩:
(7)修改信息:
选择要修改的选项,再输入对应的学号,之后再输入正确的姓名或学号。如果输入的学号不对,则输出“没有找到!”并返回主菜单。
(8)退出:
输入0,则会完全退出主菜单。
3.代码展示
#菜单
def meun():
print("-"*20)
print("1、添加学生信息")
print("2、显示所有学生的信息")
print("3、删除学生信息")
print("4、查找学生信息")
print("5、排序")
print("6、修改学生信息")
print("0、退出")
print("-"*20)
#添加学生信息
def add_info(student_info):
a = int(input("请输入学号:"))
for b in student_info:
if b["number"] == a:
print("已存在该学生信息!")
return
n = input("请输入名字:")
s = int(input("请输入成绩:"))
info = {"name":n,"number":a,"score":s}
student_info.append(info)
#显示所有学生的信息
def show_info(student_info):
if not student_info:
print("没有学生信息快去添加吧!")
return
print("名字".center(10),"学号".center(4),"成绩".center(4))
for info in student_info:
print(str(info["name"]).center(10)
,str(info["number"]).center(8)
,str(info["score"]).center(4))
#删除学生信息
def delete_info(student_info):
f1 = input("请输入要进行的操作序号:1、删除全部 2、按学号删除")
if f1 == '1':
student_info.clear()
print("全部删除成功!")
elif f1 == '2':
number = int(input("请输入要删除学生的学号:"))
a = 1
for s in student_info:
if s["number"] == number:
student_info.remove(s)
print("删除成功!")
a = 0
break
if a == 1:
print("没找到!")
else:
print("请输入正确选项:")
#查找学生信息
def search_info(student_info):
f1 = input("请选择查找方式:1、姓名查找 2、学号查找")
a = 1
if f1 == '1':
name = input("请输入姓名:")
for s in student_info:
if s["name"] == name:
print(s)
a = 0
break
if a == 1:
print("没有找到!")
elif f1 == '2':
number = int(input("请输入学号:"))
for s in student_info:
if s["number"] == number:
print(s)
a = 0
break
if a == 1:
print("没有找到!")
else:
print("请输入正确选项:")
#修改学生信息
def change_info(student_info):
f1 = input("请输入要修改的选项:1、姓名 2、成绩")
f2 = int(input("请输入要修改的学号:"))
a = 1
if f1 == '1':
for s in student_info:
if s["number"] == f2:
s["name"] = input("请输入姓名:")
print("修改成功!")
a = 0
break
if a == 1:
print("没有找到!")
elif f1 == '2':
for s in student_info:
if s["number"] == f2:
s["score"] = int(input("请输入成绩:"))
print("修改成功!")
a = 0
break
if a == 1:
print("没有找到!")
else:
print("请输入正确选项:")
#得到学号和成绩的值
def get_number(*t):
for s in t:
return s["number"]
def get_score(*t):
for s in t:
return s["score"]
#排序
def sort_info(student_info):
f1 = input("请输入要进行排序的选项:1、学号 2、成绩")
if f1 == '1':
print("学号由低到高显示如下:")
list = sorted(student_info,key = get_number)
show_info(list)
if f1 == '2':
print("成绩由低到高显示如下:")
list = sorted(student_info,key = get_score)
show_info(list)
def main():
student_info = []
while True:
meun()
num = input("请输入选项:")
if num == '1':
add_info(student_info)
elif num == '2':
show_info(student_info)
elif num == '3':
delete_info(student_info)
elif num == '4':
search_info(student_info)
elif num == '5':
sort_info(student_info)
elif num == '6':
change_info(student_info)
else:
break
main()