【练手程序】简单的学生学籍管理系统

这是个简单的学籍管理系统,将学生信息放在大字典当中,以学生学号为键,以包括学生其他信息的一个小字典为值,做到了对简单信息的增删改查。
以下为源代码(因为语言表述不准确,所以未在程序内进行注释,怕注释不能尽其义):

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改了一下午,确实有点辛苦,但是感觉敲代码的时候会是有点满足感的成分在里面,加油。
以下附程序执行结果的两张图:
程序开始时解释界面程序执行结果的部分截图。

猜你喜欢

转载自blog.csdn.net/weixin_43313213/article/details/82903656
今日推荐