学生管理系统[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的阿川大佬的支持和鼓励,将是我成长路上最大的动力
相关推荐
CV学术叫叫兽16 分钟前
一站式学习:害虫识别与分类图像分割
学习·分类·数据挖掘
我们的五年27 分钟前
【Linux课程学习】:进程程序替换,execl,execv,execlp,execvp,execve,execle,execvpe函数
linux·c++·学习
好看资源平台1 小时前
网络爬虫——综合实战项目:多平台房源信息采集与分析系统
爬虫·python
一棵开花的树,枝芽无限靠近你1 小时前
【PPTist】添加PPT模版
前端·学习·编辑器·html
进击的六角龙1 小时前
深入浅出:使用Python调用API实现智能天气预报
开发语言·python
檀越剑指大厂1 小时前
【Python系列】浅析 Python 中的字典更新与应用场景
开发语言·python
VertexGeek1 小时前
Rust学习(八):异常处理和宏编程:
学习·算法·rust
湫ccc1 小时前
Python简介以及解释器安装(保姆级教学)
开发语言·python
孤独且没人爱的纸鹤1 小时前
【深度学习】:从人工神经网络的基础原理到循环神经网络的先进技术,跨越智能算法的关键发展阶段及其未来趋势,探索技术进步与应用挑战
人工智能·python·深度学习·机器学习·ai
羊小猪~~1 小时前
tensorflow案例7--数据增强与测试集, 训练集, 验证集的构建
人工智能·python·深度学习·机器学习·cnn·tensorflow·neo4j