首页 > Python资料 博客日记
【Python】学生管理系统【自我维护版】
2024-05-15 16:00:04Python资料围观221次
文章【Python】学生管理系统【自我维护版】分享给大家,欢迎收藏Python资料网,专注分享技术知识
个人主页:在线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的阿川大佬的支持和鼓励,将是我成长路上最大的动力 |
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!
标签:
相关文章
最新发布
- 【Python】selenium安装+Microsoft Edge驱动器下载配置流程
- Python 中自动打开网页并点击[自动化脚本],Selenium
- Anaconda基础使用
- 【Python】成功解决 TypeError: ‘<‘ not supported between instances of ‘str’ and ‘int’
- manim边学边做--三维的点和线
- CPython是最常用的Python解释器之一,也是Python官方实现。它是用C语言编写的,旨在提供一个高效且易于使用的Python解释器。
- Anaconda安装配置Jupyter(2024最新版)
- Python中读取Excel最快的几种方法!
- Python某城市美食商家爬虫数据可视化分析和推荐查询系统毕业设计论文开题报告
- 如何使用 Python 批量检测和转换 JSONL 文件编码为 UTF-8
点击排行
- 版本匹配指南:Numpy版本和Python版本的对应关系
- 版本匹配指南:PyTorch版本、torchvision 版本和Python版本的对应关系
- Python 可视化 web 神器:streamlit、Gradio、dash、nicegui;低代码 Python Web 框架:PyWebIO
- 相关性分析——Pearson相关系数+热力图(附data和Python完整代码)
- Anaconda版本和Python版本对应关系(持续更新...)
- Python与PyTorch的版本对应
- Windows上安装 Python 环境并配置环境变量 (超详细教程)
- Python pyinstaller打包exe最完整教程