作业要求
学生管理系统是一个非常常见的作业项目,虽然并不困难,而且之前也有很多人做过了。该功能想要详细的完成,也并非易事,以下是我的分享。
在我的设计中,学生管理系统可能要包括这样的基础功能。
1,学生管理系统的主界面
2,学生的添加
3,学生的查找
4,学生的删除
5,学生信息的修改
6,输入错误指令的提示
7,退出管理系统
我们可以将这几部分的功能分别实现,共同组成一个完整的系统。
主界面
这一部分应该包括学生管理系统的查看,指令的提示
# 程序制作q群:563267559
def student_system():
print("\n" * 20)
print(" ================================================================")
print(" ------------------------ 学生信息管理系统 ------------------------")
print(" ----------------------------------------------------------------")
print(" - 1. 添加学生信息")
print(" - 2. 删除学生信息")
print(" - 3. 修改学生信息")
print(" - 4. 查找学生信息")
print(" - 5. 显示学生信息")
print(" - 6. 退出系统")
num = input("输入您所需要使用的指令:")
print(" ===============================================================")
return int(num)
这里可能会有疑问,为什么要直接在这里将分割符输入,而非使用循环或者其他方式呢?事实上,对于简单的分割符,如果一定要使用循环或者其他的方式,反而更加的麻烦,不如像现在这样直接添加在上边。
添加学生
def add_student():
stus = []
while True:
title()
print(" ----------------------- 《添加学生信息》 -----------------------")
print(" ----------------------------------------------------------------")
name = input(" 请输入新学生的姓名:")
phone = input(" 请输入新学生的sj号:")
wx = input(" 请输入新学生的wx号:")
stu = {
"name": name,
"phone": phone,
"wx": wx
}
stus.append(stu)
num = input(" 是否继续添加学生?(y/n)")
if num == "n":
print(" ================================================================")
print(" --------------------- 《当前添加的学生信息》 ---------------------")
print(" ----------------------------------------------------------------")
print(" 姓名\tsj号\twx号")
print(" ----------------------------------------------------------------")
for stu in stus:
print(" %s\t%s\t%s" % (stu["name"], stu["phone"], stu["wx"]))
print(" ----------------------------------------------------------------")
add_file(stus)
stus = []
break
elif num == "y":
continue
else:
error()
删除学生
def delete():
stus = []
while True:
title()
print(" ----------------------- 《删除学生信息》 -----------------------")
print(" ----------------------------------------------------------------")
name = input(" 请输入要删除的学生姓名:")
flag = delFile(name)
if flag:
print(f" 学生“{name}”信息删除成功!")
else:
print(f" 学生“{name}”信息删除失败!")
num = input(" 是否继续删除学生?(y/n)")
if num == "n":
break
elif num == "y":
continue
else:
error()
显示所有学生
def showall():
fileName = 'stu.txt'
content = ''
with open(fileName, mode='r', encoding='utf-8') as fileObj:
while True:
contents = fileObj.readlines()
if not contents:
print(' 目前没有任何学生的信息记录!')
print(' ----------------------------------------------------------------')
input(' 请按任意键继续!')
break
else:
print(' ---------------------- 《当前的学生信息》 ----------------------')
print(' ----------------------------------------------------------------')
print(' \t姓名\t\tsj号\t\twx号')
print(' ----------------------------------------------------------------')
for content in contents:
items = content.split(',')
stu = '\t'
for item in items:
stu += item.split(':')[1]
stu += '\t\t'
stu = stu[0:-4]
print(f' {stu}')
print(' ----------------------------------------------------------------')
input(' 请按任意键返回主菜单!')
break
错误信息提示
def error_message():
print(" 您输入的指令不存在,请重新输入!")
input(" 请按任意键继续!")
退出系统
def quit():
num = input(" 您真的要退出系统吗?(y/n)")
if num == "y":
print(" ===============================================================")
print(" 成功退出,信息已经记录,下次再见!")
print(" ===============================================================")
总结
可以看到,只要将这几个部分组合在一起,就可以完成一个完整的学生信息管理系统了,相对来说也并非很困难。如果你有什么见解,欢迎在评论区指出,或者通过q群563267559参与讨论