系统简介:
该系统主要用于学校学生信息管理,总体任务是实现学生信息关系的系统化、科学化、规范化和智能化,其主要功能是利用计算机对学生的各种信息,如:姓名、学号、成绩等,进行日常管理,如查询、修改、增加、删除等。
源码:
# 学生管理系统
"""
班级数据类型: list [student1, student2, student3]
学生的数据类型: dict
{
name: mi,
age :10,
id: 100
}
"""
# 定义一个列表用来存储所有的学生信息(每个学生是一个字典)
myclass = []
def Print_Menu():
print("---------------------------")
print(" 学生管理系统 V1.0 ")
print(" 1:添加学生 ")
print(" 2:删除学生 ")
print(" 3:修改学生 ")
print(" 4:查询学生 ")
print(" 5:显示所有学生 ")
print(" 6:按年龄排序")
print(" 7:保存数据")
print(" 8:退出系统 ")
print("---------------------------")
def Add_students():
"""添加学生信息"""
global myclass
# 定义一个字典,用来存储用户的学生信息(这是一个字典)
student = {}
name = input("请输入学生姓名>>>")
# 判断学生是否存在
for repeaet in myclass:
if repeaet['name'] == name:
print("学生已经存在!!")
return None
id = input("请输入学生学号>>>")
age = input("请输入学生年龄>>>")
# 向字典中添加数据
student['name'] = name
student['id'] = id
student['age'] = age
# 向列表中添加这个字典
myclass.append(student)
print("插入成功!!!")
def Print_All_Stu():
"""遍历学生信息"""
print("序号\t\t姓名\t\t学号\t\t年龄")
i = 0
for student in myclass:
print("%d\t\t%s\t\t%s\t\t%s" %(i+1, student['name'],
student['id'], student['age']))
i += 1
def Del_By_Name():
"""
根据名字删除学生信息
:return: void
"""
global myclass
name = input("请输入你想删除的学生姓名>>>")
for student in myclass:
if student['name'] == name:
print("当前学生信息如下")
print("姓名\t\t学号\t\t年龄")
print("%s\t\t%s\t\t%s" % (student['name'],
student['id'], student['age']))
del_flag = input("你确定要删除么?yes or no")
if del_flag == 'yes':
myclass.remove(student)
print("删除成功!!!")
return None
else:
print("放弃删除!!!")
return None
print("没有您要找的信息....")
return None
def Mod_By_Id():
global myclass
id = input("请输入你想修改的学生学号>>>")
for student in myclass:
if student['id'] == id:
print("当前学生信息如下")
print("姓名\t\t学号\t\t年龄")
print("%s\t\t%s\t\t%s" % (student['name'],
student['id'], student['age']))
else:
print("输入学号有误,请重新输入")
return None
name = input("请输入学生姓名>>>")
# 判断学生是否存在
for repeat in myclass:
if repeat['name'] == name:
print("学生已经存在!!")
return None
student['name'] = name
student['id'] = input("请输入学生学号>>>")
student['age'] = input("请输入学生年龄>>>")
print("修改成功噢!")
return None
def Search_By_index():
"""查询学生信息"""
index = int(input("请输入要查找的序号:(0开始)"))
if 0 <= index < len(myclass):
print("当前学生信息如下")
print("姓名\t\t学号\t\t年龄")
print("%s\t\t%s\t\t%s" % (myclass[index]['name'],
myclass[index]['id'], myclass[index]['age']))
else:
print("输入序号有误,请重新输入")
def Save_Data():
with open("myclass.data", 'a+') as f:
for student in myclass:
print(student)
f.write(str(student))
f.write('\n')
print("保存成功!!!")
def Sort_By_age():
myclass.sort(key = lambda x: x['age'])
print("排序完成!!!")
def main():
while True:
Print_Menu()
choose = int(input("请输入的您的选择>>>"))
if choose == 1:
Add_students()
elif choose == 2:
help(Del_By_Name)
Del_By_Name()
elif choose == 3:
Mod_By_Id()
elif choose == 4:
Search_By_index()
elif choose == 5:
Print_All_Stu()
elif choose == 6:
Sort_By_age()
elif choose == 7:
# 保存数据到文件中
Save_Data()
elif choose == 8:
print("Bye~~")
break
else:
print("输入有误,请重新输入......")
input("\n\n\n按回车键继续....")
# 程序的开始
main()