学生管理系统[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的阿川大佬的支持和鼓励,将是我成长路上最大的动力
相关推荐
solicitous12 分钟前
第二章 信息技术发展
学习
Keep_Trying_Go13 分钟前
基于Transformer的目标统计方法(CounTR: Transformer-based Generalised Visual Counting)
人工智能·pytorch·python·深度学习·transformer·多模态·目标统计
追风少年ii21 分钟前
脚本测试--R版本 vs python版本的harmony整合效果比较
linux·python·机器学习·空间·单细胞·培训
im_AMBER26 分钟前
Leetcode 70 好数对的数目 | 与对应负数同时存在的最大正整数
数据结构·笔记·学习·算法·leetcode
hd51cc2 小时前
MFC消息 学习笔记
笔记·学习·mfc
谷粒.3 小时前
Cypress vs Playwright vs Selenium:现代Web自动化测试框架深度评测
java·前端·网络·人工智能·python·selenium·测试工具
盐焗西兰花9 小时前
鸿蒙学习实战之路:状态管理最佳实践
学习·华为·harmonyos
小糖学代码9 小时前
LLM系列:1.python入门:3.布尔型对象
linux·开发语言·python
Data_agent9 小时前
1688获得1688店铺详情API,python请求示例
开发语言·爬虫·python
小毅&Nora10 小时前
【人工智能】【深度学习】 ⑦ 从零开始AI学习路径:从Python到大模型的实战指南
人工智能·深度学习·学习