这是个简单的学籍管理系统,将学生信息放在大字典当中,以学生学号为键,以包括学生其他信息的一个小字典为值,做到了对简单信息的增删改查。
以下为源代码(因为语言表述不准确,所以未在程序内进行注释,怕注释不能尽其义):
def ReadFromFile(path):
with open(path,"r") as filer:
content = filer.read()
return eval(content)
def WriteToFile(path,Additional):
with open(path,"w") as filew:
filew.write(Additional)
return True
userdic = ReadFromFile("D:\\StudentManagerSystem.txt")
print("-" * 30)
print("学生学籍管理系统 V2.0")
print("输入以下序号可执行对应功能:")
print("1:添加学生学籍信息。")
print("2:删除学生学籍信息。")
print("3:修改学生学籍信息。")
print("4:查询学生学籍信息。")
print("5:查询所有学生学籍信息。")
print("6:安全退出系统。")
print("-" * 30)
while True:
function = int(input("请输入您需要进行的功能编号:"))
if function == 1:
print("您选择了添加学生学籍信息。")
StudentId = input("请输入学生学号:")
for BianHao in userdic.keys():
if StudentId == BianHao:
print("您输入的学生信息已存在。")
break
else:
continue
else:
StudentName = input("请输入学生姓名:")
StudentAge = input("请输入学生年龄:")
StudentAddress = input("请输入学生户口所在地:")
NeiDic = {"姓名":StudentName,"年龄":StudentAge,"住址":StudentAddress}
userdic[StudentId] = NeiDic
userdic_w = str(userdic)
WriteToFile("D:\\StudentManagerSystem.txt",userdic_w)
print("添加信息成功。")
elif function == 2:
print("您选择了删除学生学籍信息。")
StudentId = input("请输入学生学号:")
for BianHao in userdic.keys():
if StudentId == BianHao:
del userdic[StudentId]
print("删除学生学籍信息成功。")
break
else:
print("您输入的学生学号不存在。")
elif function == 3:
print("您选择了修改学生学籍信息。")
StudentId = input("请输入您要修改的学生编号:")
ModifyNumber = int(input("请输入您要修改的内容(1:修改学号;2:修改姓名;3:修改年龄;4:修改住址;0:退出修改):"))
if ModifyNumber == 1:
StudentId_new = input("请输入修改后的学生编号:")
for BianHao_new in userdic.keys():
if BianHao_new == StudentId_new:
print("您输入的学生编号已存在。")
break
else:
for BianHao in userdic.keys():
if StudentId == str(BianHao):
userdic[StudentId_new] = userdic.pop(StudentId)
userdic_w = str(userdic)
WriteToFile("D:\\StudentManagerSystem.txt", userdic_w)
else:
print("您要修改的学生编号不存在。")
elif ModifyNumber == 2:
StudentName = input("请输入学生姓名:")
userdic[StudentId]["姓名"] = StudentName
userdic_w = str(userdic)
WriteToFile("D:\\StudentManagerSystem.txt", userdic_w)
print("修改学生姓名信息成功。")
elif ModifyNumber == 3:
StudentAge = input("请输入学生年龄:")
userdic[StudentId]["年龄"] = StudentAge
userdic_w = str(userdic)
WriteToFile("D:\\StudentManagerSystem.txt", userdic_w)
print("修改学生年龄信息成功。")
elif ModifyNumber == 4:
StudentAddress = input("请输入学生住址:")
userdic[StudentId]["住址"] = StudentAddress
userdic_w = str(userdic)
WriteToFile("D:\\StudentManagerSystem.txt", userdic_w)
print("修改学生住址信息成功。")
elif ModifyNumber == 0:
pass
elif function == 4:
print("您选择了查询学生学籍信息:")
StudentId = input("请输入学生学号:")
for BianHao in userdic.keys():
if StudentId == BianHao:
print("姓名:",userdic[StudentId]["姓名"],";年龄:",userdic[StudentId]["年龄"],";住址:",userdic[StudentId]["住址"])
break
else:
print("您查询的学生信息不存在。")
elif function == 5:
print("您选择了查询全体学生的学籍信息:")
print(" 学号","\t"*3,"姓名","\t"*3,"年龄","\t"*2,"住址")
for k,v in userdic.items():
print(" ",k,end="")
for w in v.values():
print("\t"*3,w,end="")
print("")
elif function == 6:
Quit = int(input("确认退出本系统?输入1(是)或者2(否)"))
if Quit == 1:
print("谢谢您的使用,lyy将竭诚为您服务。")
break
elif Quit == 2:
pass
这是刚学习时候自己写的,基本没有查阅资料,改BUG改了一下午,确实有点辛苦,但是感觉敲代码的时候会是有点满足感的成分在里面,加油。
以下附程序执行结果的两张图: