python实现简单学生信息管理系统
作者:灬two灬 发布时间:2022-01-28 12:40:00
标签:python,管理系统
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("文件不存在")
更多学习资料请关注专题《管理系统开发》。
来源:https://blog.csdn.net/weixin_44604586/article/details/105348097


猜你喜欢
- 一、下载安装包http://www.php.net/downloads.php获取下载地址wgethttp://hk1.php.net/di
- Web 设计离不开调色板,现成的调色板多不胜数,不管是 Windows 标准色板,还是 Web 标准色板,还是 Pantone 色板,它们虽
- 实例如下:import os if __name__ == "__main__": file_path =
- SQL2008清空删除日志:方法一:USE [master]GOALTER DATABASE AFMS SET RECOVERY SIMPL
- 已经获取微信公众号发布的图片,但不能正常显示 ,提示:此图片来自微信公众平台 未经允许不得引用。 这是怎么回事呢?遇到这
- 采用双重循环。把图片进行“.”分割后名字问前面部分,那其余数据库中的 图片路径记录进行对比 采用vb的InStr函数 如果存在的话返回值&g
- 这篇文章主要介绍了简单了解Python3 bytes和str类型的区别和联系,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的
- 问题描述本人pycharm使用anaconda创建的虚拟环境后,使用pycharm终端安装第三方库,但路径一直安装到磁盘下的系统路径中,如图
- CREATE DATABASE 临时的 ON ( NAME='临时的_Data', FILENAME='h:\临时的
- 偶然将想到的一个如何判断鼠标从哪个方向进入一个容器的问题。首先想到的是给容器的四个边添加几块,然后看鼠标进入的时候哪个块先监听到鼠标事件。不
- 写在前面我的 CUDA 版本是什么? 这个问题本身就是有问题的,因为没有搞清楚cuda的分类这里的 CUDA 说的是 Driver CUDA
- s={ x1,x2,x3.....};集合有自动去重的功能,而且可以进行交并补运算,而且集合是无序的,每次打印的结果不一样,故不可以用元素下
- 直接使用Python来实现向量的相加# -*-coding:utf-8-*-#向量相加def pythonsum(n): a = range
- 利用zipfile模块和pandas获取数据,代码比较简单,做个记录吧:# -*- coding: utf-8 -*-""
- 每位SQL Server开发员都有自己的首选操作方法。我的方法叫做分子查询。这些是由原子查询组合起来的查询,通过它们我可以处理一个表格。将原
- 本文实例讲述了Python3.5装饰器原理及应用。分享给大家供大家参考,具体如下:1、装饰器:(1)本质:装饰器的本质是函数,其基本语法都是
- pygame创建游戏窗口界面,供大家参考,具体内容如下使用pygame前一定要先导入pygame而且肯定要先初始化pygameimport
- 可能由于操作系统不同,或者在安装SQL 2008的时候已经安装SQL其他版本,因此可能会遇到问题,那么这时我们的实际经验和动手测试的能力也是
- RabbitMQ 6种工作模式对RabbitMQ 6种工作模式(简单模式、工作模式、订阅模式、路由模式、主题模式、RPC模式)进行场景和参数
- 老师罚学生抄写英文单词,结果学生给抄成这样……