学生管理系统[Python语言]

发布于:2024-04-30 ⋅ 阅读:(23) ⋅ 点赞:(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的阿川大佬的支持和鼓励,将是我成长路上最大的动力 在这里插入图片描述

网站公告

今日签到

点亮在社区的每一天
去签到