基于Python实现简单学生管理系统
作者:暧迷路 发布时间:2021-01-02 18:58:11
标签:python,学生,管理系统
学生信息管理系统负责编辑学生信息,供大家参考,具体内容如下
第一次发帖,下面通过python实现一个简单的学生信息管理系统
要求如下:
1.添加学生的信息
2.删除学生的信息
3.修改的信息
4.查询学生的信息
5.遍历学生的信息
6.退出系统
写法:
1.先考虑整体的框架(即搭框架),不要刚开始就考虑函数。
2.提示用户选择功能。
3.获取用户选择的功能。
4.根据用户的选择,执行相应的功能。
代码如下:
# 0.学生管理系统界面
def showInfo():
print("-"*30)
print(" 学生管理系统 v1.0")
print(" 1:添加学生的信息")
print(" 2:删除学生的信息")
print(" 3:修改的信息")
print(" 4:查询学生的信息")
print(" 5:遍历学生的信息")
print(" 6:退出系统")
print("-" * 30)
# 1.添加学生的信息
def addNewStu(studentsTemp):
name = input("请输入姓名:")
stuId = input("请输入学号:")
age = input("请输入年龄:")
# 2.判断是否能加这个学生:如果学生姓名已经存在报错提示;如果姓名不存在添加数据
global students # 声明students为全局变量
# 2.1不允许学号重复:判断用户输入的学号和列表里面字典的id对应的值相等提示
for i in students:
if stuId == i['id']:
print("该学号已经存在,请重新操作!!!")
# return作用:退出当前函数,后面添加信息的代码不执行
return
# 2.2如果输入的姓名不存在,添加数据:准备空字典,字典新增数据,列表追加字典
stuInfo = {} # 2.2.1准备空字典
# 2.2.2字典新增数据
stuInfo['name'] = name # 如果name存在赋值修改,如果name不存在则赋值新增“name”这个变量
stuInfo['id'] = stuId
stuInfo['age'] = age
# 2.2.3列表追加字典数据
studentsTemp.append(stuInfo)
# 2.删除学生的信息
def del_info():
# 1.用户输入要删除的学生的学号
del_name = input("请输入要删除的姓名:")
# 2.判断学生是否存在:存在则删除:不存在提示
# 2.1声明students为全局变量
global students
# 2.2遍历列表
for i in students:
# 2.3判断学生是否存在:存在执行删除(列表用面的学典).break:这个系统不允许重名,删除了一个后面的不需要再遍历。不存在提示
if del_name == i['name']:
students.remove(i)
break
else: # 循环正常结束
print("该学生不存在")
print(students)
# 3.修改学生的信息
def modify_info():
# 1.用户输入想要修改的学生的姓名
modify_name = input("请输入要修改的学生的姓名:")
# 2.判断学生是否存在:存在修改学号:不存在,提示
# 2.1声明students是全局变量
global students
# 2.2遍历列表,判断输入的姓名==字典['name']
for i in students:
if modify_name == i['name']:
# 将stuId修改key值,并终止此循环
i['id'] = input("请输入新的学号:")
break
else:
# 学生不存在
print("该学生不存在")
# 3.打印students
print(students)
# 4.查询学生的信息
def search_info():
# 1.用户输入目标学生姓名
search_name = input("请输入要查询的学生的姓名:")
# 2.检查学生是否存在:存在打印这个学生的信息;不存在则提示
# 2.1声明students为全局变量
global students
# 2.2遍历students,判断输入的学号是否存在
for i in students:
if search_name == i['name']:
# 学员存在:打印信息并终止循环
print("查询到的学生信息如下----------")
print(f"学生的学号是{i['id']},学生的姓名是{i['name']},学生的年龄是{i['age']}")
break
else:
# 学生不存在的提示
print("对不起,您查询的学生不存在,请重试!")
# 5.遍历学生的信息
def print_all():
# 1.打印提示字
print('学号\t姓名\t年龄')
# 2.打印所有学生的数据
for i in students:
print(f"{i['id']}\t{i['name']}\t{i['age']}")
students = [] # 等待存储所有学生信息
# 系统功能需要循环使用,直在用户输入6,才退出系统
while True:
showInfo() # 显示主界面
key = int(input("请选择功能(序号):"))
if key == 1:
addNewStu(students)
elif key == 2:
del_info()
elif key == 3:
modify_info()
elif key == 4:
search_info()
elif key == 5:
print_all()
elif key == 6:
exit_flag = input("您确定要退出吗?yes/no\n")
if exit_flag == 'yes':
break
else:
print("输入有误,请重新输入!")
关于管理系统的更多内容请点击《管理系统专题》进行学习
来源:https://blog.csdn.net/weixin_45285484/article/details/104620111
0
投稿
猜你喜欢
- 一个正则表达式就是由普通字符(例如字符 a 到 z)以及特殊字符(称为元字符)组成的文字模式。该模式描述在查找文字主体时待匹配的一个或多个字
- 本文实例为大家分享了python tkinter实现弹窗输入输出的具体代码,供大家参考,具体内容如下代码如下:from tkinter im
- 很多网站都有“浏览历史”这个功能,通常都是显示在页面的一侧,特别是一些购物网站,这个功能会让用户使用网站的体验好一些;例如当当网或淘宝网都有
- 示例:《电影类型分类》获取数据来源电影名称打斗次数接吻次数电影类型California Man3104RomanceHe's Not
- 又遇到与pycharm配置有关的问题。pycharm无法import自己安装的第三方库,好神奇啊,这个可是在pycharm下安装的地三方mo
- Python常用的数据结构,有如下几种。但是我们用的最多的,还是字符串、列表、字典这3种。其实学习任何一门编程语言,最基础的就是学习它的数据
- 背景:有一个爬虫服务,需要定时从公开网站上拉取一些数据,为了避免被识别为爬虫(防爬虫的识别需要根据很多特征,时间仅仅是其中一个维度),需要在
- 废话就不多说了,直接上内容。<form action="/home/search" method="ge
- keras根据层名称来初始化网络def get_model(input_shape1=[75, 75, 3], input_shape2=[
- 这篇文章主要介绍了python numpy数组中的复制知识解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,
- 实例如下所示:>>>from compiler.ast import flatten>>>Xmatrix
- 0. 学习目标栈和队列是在程序设计中常见的数据类型,从数据结构的角度来讲,栈和队列也是线性表,是操作受限的线性表,它们的基本操作是线性表操作
- ASP * 页制作中连接Oracle数据库的例子,下面这段代码能够显示,当前用户所能够看到的所有的用户和表,有兴趣的, 可以把每个表的内容上
- MySQL的ODBC接口实现是通过安装MyODBC驱动,这个驱动程序是跨平台的。如果在Linux等Unix体系操作系统下使用,需要先安装Io
- Celery是Python开发分布式任务列队的处理库。可以异步分布式地异步处理任务,也可定时执行任务等等。通常我们可以使用celery在Dj
- 如何用ASP发送HTML格式的邮件?HTML格式的邮件可以把网页上的所有元素,包括文字和图片集成保存在一个文件中,阅读和链接非常便捷,请问在
- 摘要: Portal是IT领域的新技术,是企业信息化工作的发展方向之一。本文首先介绍了Oracle Portal的定义、特点,接着阐述了po
- 原文作者:青女 附注及色样添加:Quester西式的色名及色样表,可以参见以下链接 (Java 类色彩兼容):http
- 概述编程的内核是数学,而测试的本质是计算,专业名词叫容量预估,而测试的大体就是用程序模拟程序,检测程序的正确性,有两个点需要注意,QPS最佳
- 本文将介绍使用mutable对象作为Python函数参数默认值潜在的危害,以及其实现原理和设计目的陷阱重现我们就用实际的举例来演示我们今天所