python简单的学生信息管理系统-文件版,供大家参考,具体内容如下
功能如下
主函数部分
增加学生信息
修改学生信息
删除学生信息
查询学生
显示所有学生的信息
将数据录入文件
读取文件数据
学习文件模块后,将之前做的学生信息管理系统添加文件模块。
功能如下
1、新增学生信息;
2、修改学生信息;
3、删除学生信息;
4、查询学生信息;
5、显示学生信息;
6、将数据录入文件;
7、读取文件数据;
8、退出系统。
主函数部分
这里定义一个列表L,用来存储学生信息。
增加学生信息
将学生信息保存为字典添加到列表里。
def add(): dict1 = {} sName = input("请输入学生姓名:") sAge = eval(input("请输入学生年龄:")) sNumber = eval(input("请输入学生学号:")) tele_num = eval(input("请输入手机号码:")) dict1["name"] = sName dict1["age"] = sAge dict1["sNumber"] = sNumber dict1["tele_num"] = tele_num L.append(dict1) print("增加成功") input("按任意键返回菜单")
修改学生信息
这里以学号为索引值,如果学号不在学生库里则提示无此学生。
def modify(): num = eval(input("请输入学生学号:")) index1 = -1 for i,dict in enumerate(L): if dict.get("sNumber") == num: index1 = i break if index1 != -1: L[index1]['name'] = input("请输入新的姓名:") L[index1]['age'] = eval(input("请输入新的年龄:")) L[index1]['sNumber'] = eval(input("请输入新的学号:")) L[index1]['tele_num'] = eval(input("请输入新的手机号:")) print("修改成功") else: print("无此学生") input("按任意键返回菜单")
删除学生信息
删除学生也是以学号为索引值,如果学号不在学生库里则提示无此学生。
def delete(): num = eval(input("请输入要删除学生的学号:")) index1 = -1 for i, dict in enumerate(L): if dict.get("sNumber") == num: index1 = i break if index1 != -1: del L[index1] print("删除成功") else: print("无此学生") input("按任意键返回菜单")
查询学生
查询成功此显示学生信息,否则提示无此学生。
def search(): num = eval(input("请输入要查询学生的学号:")) index1 = -1 for i, dict in enumerate(L): if dict.get("sNumber") == num: index1 = i break if index1 != -1: print("姓名:%s 年龄:%d 学号:%d 手机号码:%d" % (L[index1]["name"], L[index1]["age"], L[index1]["sNumber"], L[index1]["tele_num"])) else: print("无此学生") input("按任意键返回菜单")
显示所有学生的信息
def prin(): if len(L) == 0: print("无成员") else: for dict1 in L: print("姓名:%s 年龄:%d 学号:%d 手机号码:%d"%(dict1["name"], dict1["age"], dict1["sNumber"], dict1["tele_num"])) input("按任意键返回菜单")
将数据录入文件
因为每个学生的信息是字典类型,所以录入之前先转化为字符串。
def write_file(): file = open("student_list.data", 'w', encoding='utf-8') for i in L: file.write(str(i) + '\n') file.close() input("录入成功,按任意键返回菜单!")
读取文件数据
读取到的信息是字符串,可以使用eval()函数将信息变为原来的字典类型,再添加到列表里。
def read_file(): try: file = open("student_list.data", 'r', encoding='utf-8') content = file.readlines() for i in content: L.append(eval(i)) file.close() input("读取完成,按任意键返回菜单!") except: print("文件不存在")
更多学习资料请关注专题《管理系统开发》。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。
更新日志
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]