本文实例为大家分享了Python实现学生管理系统的具体代码,供大家参考,具体内容如下
功能描述1.分为两个界面:(1)登录和注册界面 (2)学生管理系统界面
2.登录功能和之前发布的图书管理系统相同,登录成功后可进入学生管理系统界面,这里不再叙述
3.系统功能(1)添加学生信息(2)删除学生信息(3)修改学生信息(4)查询学生信息(5)显示所有学生信息(6)退出
4.有很多地方增加了优化,也进行了完善,如模块导入、登录注册以及回车不修改等功能。整个程序代码大概200行。
注意:代码分为两个模块,需要在student_main模块中启动。student_main模块中只负责输入操作,而student_tools模块中负责具体的学生信息系统操作实现功能。所以大家在拷贝代码的时候记得创建两个.py文件。
完整代码如下student_main模块内容代码:
import student_tools
user=['wangtaotao']
pwd=['123456']
#登录
def denglu():
users = input("请输入您的用户名:")
pwds = input("请输入您的密码:")
if users in user and pwds in pwd:
student()
else:
print("账号或密码不正确,请重新输入")
#注册
def zhuce():
users=input("请输入您要注册的用户名:")
pwds=input("请输入您要注册的密码:")
user.append(users)
pwd.append(pwds)
print()
print("注册成功!")
print()
#登录界面
def dljiemian():
while True:
print("---------------------------")
print(" 学生管理系统登陆界面 V1.0 ")
print(" ")
print(" 1:登 录 ")
print(" 2:注 册 ")
print(" 3:退 出 ")
print(" ")
print("---------------------------")
xx=input("请输入您的选择:")
#1.登录
if xx=='1':
denglu()
elif xx=='2':
#2.注册
zhuce()
elif xx=='3':
#3.退出
print()
print("成功退出!")
print()
break
else:
print("输入错误,请重新输入")
#学生管理系统
def student():
while True:
#调用student_tools模块中的界面函数
student_tools.jiemian()
x=input("请输入您的选择:")
#添加学生
if x=='1':
student_tools.add()
#删除学生
elif x=='2':
student_tools.dele()
#修改学生
elif x=='3':
student_tools.xiugai()
#查询学生
elif x=='4':
student_tools.find()
#显示所有学生
elif x=='5':
student_tools.showall()
#退出学生管理系统,返回上一层登录界面系统
elif x=='6':
print()
print("成功退出学生管理系统!")
break
else:
print()
print("输入错误,请重新输入")
print()
#调用最先执行的登录界面函数
dljiemian()
student_tools模块内容代码:
student_list=[]
student_dict={}
#学生管理系统界面
def jiemian():
print("---------------------------")
print(" 学生管理系统 V1.0")
print(" ")
print(" 1:添加学生" )
print(" 2:删除学生" )
print(" 3:修改学生" )
print(" 4:查询学生" )
print(" 5:显示所有学生" )
print(" 6:退出系统" )
print(" ")
print("---------------------------")
#添加学生
def add():
name=input("请输入录入学生姓名:")
cls=input("请输入学生班级:")
age=input("请输入录入学生年龄:")
phone=input("请输入录入学生手机号:")
addr=input("请输入录入学生家庭住址:")
student_dict={"name":name,"class":cls,"age":age,"phone":phone,"address":addr}
student_list.append(student_dict)
print()
print("-----添加学生信息界面-----")
print()
print("姓名\t\t","班级\t\t","年龄\t\t","电话号\t\t","家庭住址\t\t")
for student_dict_1 in student_list:
print("%s\t\t%s\t\t%s\t\t%s\t\t%s" %(student_dict_1["name"],
student_dict_1["class"],
student_dict_1["age"],
student_dict_1["phone"],
student_dict_1["address"]))
print()
print("录入成功!")
print()
#删除学生
def dele():
name_del=input("请输入想要删除的学生姓名:")
for student_dict_1 in student_list:
if name_del in student_dict_1["name"]:
student_list.remove(student_dict_1)
print()
print("删除%s信息成功!" % name_del)
print()
break
else:
print()
print("您输入的学生姓名错误,请重新输入")
print()
#修改学生
def xiugai():
name_xiugai=input("请输入想要修改的学生姓名:")
for student_dict_1 in student_list:
if name_xiugai == student_dict_1["name"]:
print()
print("-----修改界面-----")
print()
print("姓名\t\t", "班级\t\t", "年龄\t\t", "电话号\t\t", "家庭住址\t\t")
print("%s\t\t%s\t\t%s\t\t%s\t\t%s" %(student_dict_1["name"],
student_dict_1["class"],
student_dict_1["age"],
student_dict_1["phone"],
student_dict_1["address"]))
#回车不修改
student_dict_1["name"]=new_input(student_dict_1["name"],"请输入修改后的学生姓名[回车不修改]:")
student_dict_1["class"]=new_input(student_dict_1["class"],"请输入修改后的学生班级[回车不修改]:")
student_dict_1["age"]=new_input(student_dict_1["age"],"请输入修改后的学生年龄[回车不修改]:")
student_dict_1["phone"]=new_input(student_dict_1["phone"],"请输入修改后的学生手机号[回车不修改]:")
student_dict_1["address"]=new_input(student_dict_1["address"],"请输入修改后的学生家庭地址[回车不修改]:")
print()
print("修改成功!")
print()
break
else:
print()
print("您输入的学生姓名错误,请重新输入")
print()
#查找学生
def find():
find_name=input("请输入需要查找的学生姓名:")
for student_dict_1 in student_list:
if find_name == student_dict_1["name"]:
print()
print("-----查询结果界面-----")
print()
print("姓名\t\t", "班级\t\t", "年龄\t\t", "电话号\t\t", "家庭住址\t\t")
print("%s\t\t%s\t\t%s\t\t%s\t\t%s" % (student_dict_1["name"],
student_dict_1["class"],
student_dict_1["age"],
student_dict_1["phone"],
student_dict_1["address"]))
else:
print()
print("-----查询结果界面-----")
print()
print("无此学生信息")
#显示所有学生信息
def showall():
print()
print("-----显示所有学生信息-----")
print()
print("姓名\t\t", "班级\t\t", "年龄\t\t", "电话号\t\t", "家庭住址\t\t")
for student_dict_1 in student_list:
print(student_dict_1)
print("%s\t\t%s\t\t%s\t\t%s\t\t%s" % (student_dict_1["name"],
student_dict_1["class"],
student_dict_1["age"],
student_dict_1["phone"],
student_dict_1["address"]))
#设置用户不输入内容返回原值,输入内容返回新内容
def new_input(yuanzhi,message):
input_str=input(message)
if len(input_str)>0:
return input_str
else:
return yuanzhi