【Python】学生管理系统【自我维护版】

【Python】学生管理系统【自我维护版】

码农世界 2024-05-29 前端 94 次浏览 0个评论
各位大佬好 ,这里是阿川的博客 , 祝您变得更强

个人主页:在线OJ的阿川

大佬的支持和鼓励,将是我成长路上最大的动力

阿川水平有限,如有错误,欢迎大佬指正

学生管理系统是计算机专业最基础的一个作业,能考验对基础知识的掌握.应该具有的功能有:

1.新增学生2.显示学生3.查找学生4.删除学生.

  • 储存在内存的数据容易丢失,当程序在运行时数据就会发生丢失,所以放到文件里面或者数据库里面会有效解决此问题.

    接下来是具体的代码( 如有需要请自取,可改):

    import sys
    import os
    list = []
    # 存档
    def save():
        with open("save.txt", "w", encoding="utf=8") as f: # 防止文件泄漏,加with
            for s in list:
                f.write(f"{s['name']}\t{s['studentid']}\t{s["gender"]}\t{s["year"]}")
            print(f"共{len(list)}条信息")
    # 读档
    def load():
        if not os.path.exists("save.txt"):
            return
        global list
        list = []
        with open("save.txt", "r", encoding='utf8') as f: # "save.txt表示相对路径,若没有这个文件,系统会自动生成文件"
            for s in f:
                line = s.strip()
                split = line.split("\t")
                information = {
                    "name": split[0],
                    "studentid": split[1],
                    "gender": split[2],
                    "year": split[3],
                }
                list.append(information)
                print(f"共有{len(list)}条信息")
    def main():
        print("------------------------------------")
        print("|        欢迎登入学生管理系统          |")
        print("------------------------------------")
    def mune():
        print("------------------------------------")
        print("1.增加")
        print("2.删除")
        print("3.展示")
        print("4.查找")
        print("5.退出")
        inputs = input("请输入你要选择的数字:")
        return inputs
    def add():
        name = input("请输入名字:")
        studentid = input("请输入学号:")
        gender = input("请输入性别:")
        year = input("请输入年龄:")
        if gender not in("男","女"):
            print("输入错误,请重新输入")
            return
        student = {
            "name": name,
            "studentid": studentid,
            "gender": gender,
            "year": year,
        }
        list.append(student)
        save()
        print("输入成功!")
    def erase():
        studentid = input("请输入你要删除的学生学号:")
        for s in list:
            if studentid == s["studentid"]:
                print(f"要删除的学生信息为:{s['name']}\t{s['studentid']}\t{s["gender"]}\t{s["year"]}")
                list.remove(s)
                save()
                print("删除成功!")
                return
        print("没有这个学生!")
    def show():
        for s in list:
            print(f"{s['name']}\t{s['studentid']}\t{s["gender"]}\t{s["year"]}")
            print(f"数据共有{len(list)}条")
    def find():
        name = input("请输入你要查找的学生名字:")
        for s in list:
            if name == s["name"]:
                print(f"{s['name']}\t{s['studentid']}\t{s["gender"]}\t{s["year"]}")
                return
        print("抱歉,没有这个学生")
    main()
    load()
    while True:
        digits = mune()
        if digits == "1":
            add()
        elif digits == "2":
            erase()
        elif digits == "3":
            show()
        elif digits == "4":
            find()
        elif digits == "5":
            print("再见,祝你生活愉快!")
            sys.exit(0)
        else:
            print("你的输入性别有误,请重新输入")
            continue
    

    分享自己常用的一本书,这本书相当于Python界的菜谱,很经典的一本书叫做Python cookbook(若要电子版,请关注并私信我)。

    再分享两个自己常用的 Python学习网站:

    1.整理了Python的一些非常有意思的程序库

    2.使用简短的Python代码实现有意思的程序

    好的,到此为止啦,祝您变得更强

    道阻且长 行则将至
    个人主页:在线OJ的阿川大佬的支持和鼓励,将是我成长路上最大的动力

转载请注明来自码农世界,本文标题:《【Python】学生管理系统【自我维护版】》

百度分享代码,如果开启HTTPS请参考李洋个人博客
每一天,每一秒,你所做的决定都会改变你的人生!

发表评论

快捷回复:

评论列表 (暂无评论,94人围观)参与讨论

还没有评论,来说两句吧...

Top