学生管理系统[Python语言]

各位大佬好 ,这里是阿川的博客 , 祝您变得更强

个人主页:在线OJ的阿川

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

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

学生管理系统是计算机专业最基础的一个作业,能考验对基础知识的掌握.应该具有的功能有:1.新增学生2.显示学生3.查找学生4.删除学生.

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

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

python 复制代码
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的阿川大佬的支持和鼓励,将是我成长路上最大的动力
相关推荐
Polar__Star35 分钟前
如何在 AWS Lambda 中正确使用临时凭证生成 S3 预签名 URL
jvm·数据库·python
STC_USB_CAN_80511 小时前
菜单学习,科学计算器使用【TFT240*320彩屏+实际键盘】@Ai8051U,ST7789
单片机·学习·51单片机
m0_743623921 小时前
React 自定义 Hook 的命名规范与调用规则详解
jvm·数据库·python
handler011 小时前
拒绝权限报错!三分钟掌握 Linux 权限管理
linux·c语言·c++·笔记·学习
xiaotao1311 小时前
02-机器学习基础: 无监督学习——scikit-learn实战与模型管理
学习·机器学习·scikit-learn
FreakStudio1 小时前
无硬件学LVGL—定时器篇:基于Web模拟器+MicroPython速通GUI开发
python·单片机·嵌入式·大学生·面向对象·并行计算·电子diy·电子计算机
gCode Teacher 格码致知2 小时前
Python提高:pytest的简单案例-由Deepseek产生
python·pytest
不要秃头的小孩2 小时前
力扣刷题——509. 斐波那契数
python·算法·leetcode·动态规划
科雷软件测试2 小时前
使用python+Midscene.js AI驱动打造企业级WEB自动化解决方案
前端·javascript·python
星越华夏3 小时前
python——三角函数用法
开发语言·python