各位大佬好 ,这里是阿川的博客 , 祝您变得更强 个人主页:在线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学习网站:
祝我们变得更强
道阻且长 行则将至 |
---|
个人主页:在线OJ的阿川大佬的支持和鼓励,将是我成长路上最大的动力 |