这周我闲着没事,就花了几个小时写了一个学生成绩管理系统,就是实现最基本的增删改查,利用字典和列表来存储学生信息,在这里给出源代码,供大家参考!
student_list = []
while True:
print("===============欢迎进入学生管理系统==================")
print("======= 1.添加学生 =========")
print("======= 2.查找学生 =========")
print("======= 3.删除学生 =========")
print("======= 4.修改学生信息 ==========")
print("======= 5.退出系统 ==========")
print("=====================================================")
pd = input("请输入你所要执行的功能:")
if pd=='1':
while 1:
print("==================添加学生================")
name = input("请输入学生的姓名:")
age = input("请输入学生的年龄:")
id = input("请输入学生的学号:")
tel = input("请输入学生的联系电话:")
math = int(input("请输入学生的数学成绩:"))
chinese = int(input("请输入学生的语文成绩:"))
english = int(input("请输入学生的英语成绩:"))
# 学生的成绩信息
scores = {}
scores["math"] = math
scores["chinese"] = chinese
scores["english"] = english
# 构建一个字典 来存储学生信息
dict = {}
dict["name"] = name
dict["age"] = age
dict['id'] = id
dict["tel"] = tel
dict["scores"] = scores
#将学生信息添加到列表中
student_list.append(dict)
print("=============================================")
print("======== 1.继续添加学生信息 ==========")
print("======== 2.返回上一层 ==========")
print("==============================================")
pd_01 = input("请输入序号>>>")
if pd_01 == "1":
continue
elif pd_01 == '2':
break
else:
print("请输入正确的序号!")
continue
elif pd == '2':
while True:
print("====================查找学生================")
print("======= 1.查找所有的学员信息 =======")
print("======= 2.根据姓名查找的学员信息 ========")
print("======= 3.根据学号查找的学员信息 =======")
print("======= 4.返回上一层 =========")
print("================================================")
pd_02 = input(">>>")
if pd_02 == '1':
if student_list == None:
print("还没有学员信息!")
for student in student_list:
print(student)
elif pd_02 == '2':
if student_list == None:
print("还没有学员信息!")
name = input("请输入学生姓名:")
flag = 0
for student in student_list:
if student["name"] == name:
flag = 1
print(student)
#学生的总成绩
for i,j in student["scores"].items():
print(i,j)
sum_scores = sum(student["scores"].values())
#平均成绩
average_scores = sum_scores/len(student["scores"].values())
print("这个学生的总成绩为:{}".format(sum_scores))
print("这个学生的平均成绩为:{}".format(average_scores))
break
if flag == 0:
print("没有找到这个学生")
elif pd_02 == '3':
if student_list == None:
print("还没有学员信息!")
student_num = input("请输入学生的学号:")
flag = 0
for student in student_list:
if student["id"] == student_num:
flag =1
print(student)
break
if flag == 0:
print("没有找到这个学生!")
elif pd_02 == '4':
break
else :
print("请输入正确的序号")
continue
elif pd == '3':
while True:
print("=================删除学生====================")
print("====== 1.按姓名删除学生信息 ========")
print("====== 2.按学号删除学生信息 ========")
print("====== 3.返回上一层 =========")
print("=============================================")
pd_03 = input("请输入选择>>>")
if pd_03 == '1':
student_name = input("请输入要删除的学生姓名")
flag = 0
for student in student_list:
if student["name"] == student_name:
flag = 1
student_list.remove(student)
print("删除成功!")
break
if flag == 0:
print("没有找到这个学生的信息,无法删除!")
elif pd_03 == '2':
student_num = input("请输入要删除的学生姓名")
flag = 0
for student in student_list:
if student["name"] == student_num:
flag = 1
student_list.remove(student)
print("删除成功!")
break
if flag == 0:
print("没有找到这个学生的信息,无法删除!")
elif pd_03 == '3':
break
else:
print("请重新选择!")
continue
elif pd == '4':
while True:
print("================= 修改学生信息=================")
print("======== 1.修改学生姓名 =========")
print("======== 2.修改学生年龄 =========")
print("======== 3.修改学生成绩 ==========")
print("======== 4.返回上一层 ==========")
print("=================================================")
pd_04 = input("请输入选择>>>")
if pd_04 == '1':
student_num = input("请输入你所要修改的学生的学号:")
change_name = input("请输入你要修改的之后的名字:")
flag =0
for student in student_list:
if student["id"] == student_num:
flag = 1
student["name"] = change_name
print("修改完成!")
break
if flag == 0:
print("没有这个学员信息!")
elif pd_04 == '2':
student_num = input("请输入你所要修改的学生的学号:")
change_age = input("请输入你要修改的之后的年龄:")
flag =0
for student in student_list:
if student["age"] == change_name:
flag = 1
student["name"] = change_age
print("修改完成!")
break
if flag == 0:
print("没有这个学员信息!")
elif pd_04 == '3':
student_num = input("请输入你所要修改的学生的学号:")
while True:
print("=========================================")
print("======= 1.数学 =========")
print("======= 2.语文 =========")
print("======= 3.英语 ==========")
print("======= 4.返回上一层 ==========")
print("==========================================")
choice = input("请输入你所要修改的课程:")
if choice == '1':
change_grades = input("请输入修改之后的分数:")
flag = 0
for student in student_list:
if student['id'] ==student_num:
flag = 1
student["scores"]["math"] = change_grades
break
else :
print("没有该学生的信息")
elif choice == '2':
change_grades = input("请输入修改之后的分数:")
flag = 0
for student in student_list:
if student['id'] ==student_num:
flag = 1
student["scores"]["chinese"] = change_grades
break
else :
print("没有该学生的信息")
elif choice == '3':
change_grades = input("请输入修改之后的分数:")
flag = 0
for student in student_list:
if student['id'] ==student_num:
flag = 1
student["scores"]["english"] = change_grades
break
else :
print("没有该学生的信息")
elif choice == '4':
break
else :
print("输入错误,请重新输入!")
continue
elif pd_04 == "4":
break
else :
print("输入错误,请重新输入")
continue
elif pd == '5':
print("已退出学生信息管理系统!")
break
以上代码有什么错误,大家可以批评指正!