# 第一题:设计一个全局变量,来保存很多个学生信息;学生(学号, 姓名,年龄);思考要用怎样的结构来保存;
# 第二题:在第一题基础上,完成:让用户输入一个新的学生信息(学号,姓名,年龄);你将其保存在全局变量中;并提供给用户查看当前有多少个学生的功能;
# 第三题:向用户提供根据学号查看指定学员具体信息,指定学号删除学员功能 # 用来保存学生的所有信息
stuInfos = []
# 全局变量
sno = ""
sName = ""
sAge = "" # 打印功能提示
def printMenu():
print("=" * 42)
print("*" * 10+"简单的学生信息管理系统"+"*" * 10)
print("=" * 42)
print("1.添加学生信息")
print("2.删除学生信息")
print("3.给定学号查询学生信息")
print("4.显示当前所有学生信息")
print("0.退出系统")
print("=" * 42) # (用户输入)获取一个学生的信息
def getInfo():
global newSno
global newSname
global newSage
# 这三个是全局变量,要对其进行修改,则要先声明
newSno = input("请输入学生的学号:")
newSname = input("请输入学生的姓名:")
newSage = input("请输入学生的性别:")
# 通过列表的形式把数据整合成一个整体,然后返回
return [newSno, newSname, newSage] # 添加学生信息
def addStuInfo():
result = getInfo()
newInfo = {}
newInfo['sno'] = result[0]
newInfo['sName'] = result[1]
newInfo['sAge'] = result[2]
stuInfos.append(newInfo) # # 删除学生信息
# def deleteStuInfo():
# stuId = input("请输入要查询学生的学号:")
# print("=" * 30)
# print("学生的信息如下:")
# print(" 学号 姓名 性别")
# for tempInfo in stuInfos:
# if stuId == tempInfo['sno']:
# stuInfos.remove(tempInfo['sno'])
# stuInfos.remove(tempInfo['sName'])
# stuInfos.remove(tempInfo['sAge']) # 给定学号查询学生信息
def selectStuInfo():
stuId = input("请输入要查询学生的学号:")
print("=" * 30)
print("学生的信息如下:")
print(" 学号 姓名 性别")
for tempInfo in stuInfos:
if stuId == tempInfo['sno']:
print("%s %s %s" % (tempInfo['sno'], tempInfo['sName'], tempInfo['sAge']))
break # 显示当前所有学生信息
def selectAllStuInfo():
print("=" * 30)
print("学生的信息如下:")
print("序号 学号 姓名 性别")
i = 1
for tempInfo in stuInfos:
print("%d %s %s %s" % (i, tempInfo['sno'], tempInfo['sName'], tempInfo['sAge']))
i += 1 # 主函数程序
def main():
while True:
# 打印提示信息
printMenu()
key = input("请输入你要选择的操作:")
if key == '1':
# 添加学生信息
addStuInfo()
elif key == "2":
pass
elif key == "3":
# 给定学号查询学生信息
selectStuInfo()
elif key == '4':
# 显示当前所有学生信息
selectAllStuInfo()
elif key == '0':
exit() # 调用主函数
main()

Python学生信息管理系统的开发的更多相关文章

  1. python 学生信息管理系统

    python与数据库的例子 初始化数据库 链接数据库创建库和表并插入数据 init.py import pymysql sql_base='create database school;' sql_t ...

  2. Python基础案例练习:制作学生信息管理系统

    一.前言 学生信息管理系统,相信大家或多或少都有做过 最近看很多学生作业都是制作一个学生信息管理系统 于是,今天带大家做一个简单的学生信息管理系统 二.开发环境: 我用到的开发环境 Python 3. ...

  3. 关于搬运CSDN上学生信息管理系统的阅读与二次开发

    关于本篇博客内容,我大概分成了三个部分进行讲述:对于源代码的解读.二次重开发后程序的介绍和自己在做完对他人代码的解读和重开发后自己的一些感想. 一.  源代码的解读 在本部分的解读中主要分为三部分:该 ...

  4. java开发学生信息管理系统的实现(简洁易懂),适合计算机专业学生参考,课程设计、毕业论文设计参考等

    编写一个简单的学生管理信息系统. 在oracle中设计一张学生表,以学号作为关键字. 其他学生信息有:姓名.手机号. 在进入系统时,显示如下菜单: ************************** ...

  5. python 04 学生信息管理系统

    今天任务不多,做了学生信息管理系统1.0,使用字典存储学生个体信息,列表存储学生字典.注意dict定义要在循环体内,若定义成全局变量或循环体外,则旧数据会被新数据覆盖.dict属于可变类型数据,内容改 ...

  6. 【python免费代码】设计一个简单的学生信息管理系统

    文章目录 前言 一.理解 二.部分截图展示 三.代码 四.总结 前言 设计一个简单的学生信息管理系统,实现以下功能(bug) : 录入学生信息,信息以文件方式存储 以学生学号或者学生姓名为条件查询该学 ...

  7. python3 简陋的学生信息管理系统

    # 编写一个“学生信息管理系统”# 输入序号:1. 输入学生信息,学生信息包括:id,name,age,gender(用什么数据类型保存?)# 2. 查询:输入学生姓名和id,显示学生个人信息# 3. ...

  8. Node.js小项目——学生信息管理系统

    这是迄今为止第一次接触后端的东西,是一个很小的项目,但是对于前端学习入门很好.我是先学了VUE框架再学的Node,学起来比较轻松,不过每个人都有自己的学习方法️ 一.项目描述 学生信息管理系统,可以实 ...

  9. Java课程设计---学生信息管理系统需求分析及总体设计

    按照软件工程实践的原则,开发大型程序需要经历需求分析.总体设计.详细设计.编码实现.系统测试.系统维护等几个阶段. 1.需求分析 本阶段是整个软件开发过程中最重要的环节.通过了解实际运行的系统或与用户 ...

随机推荐

  1. 【转载】奇异值分解(SVD)计算过程示例

    原文链接:奇异值分解(SVD)的计算方法 奇异值分解是线性代数中一种重要的矩阵分解方法,这篇文章通过一个具体的例子来说明如何对一个矩阵A进行奇异值分解. 首先,对于一个m*n的矩阵,如果存在正交矩阵U ...

  2. HAProxy详解(三):基于虚拟主机的HAProxy负载均衡系统配置实例【转】

    一.基于虚拟主机的HAProxy负载均衡系统配置实例 1.通过HAProxy的ACL规则配置虚拟主机: 下面将通过HAProxy的ACL功能配置一套基于虚拟主机的负载均衡系统.这里操作系统环境为:Ce ...

  3. Keepalived详解(二):Keepalived安装与配置【转】

    一.Keepalived安装与配置: 1.Keepalived的安装过程: Keepalived的安装非常简单,本实例以源码安装讲解: Keepalived的官方网址:http://www.keepa ...

  4. 【转】判断处理器是Big_endian的还是Little_endian的

    首先说明一下Little_endian和Big_endian是怎么回事. Little_endian模式的CPU对操作数的存放方式是从低字节到高字节,而Big_endian模式则是从高字节到低字节,比 ...

  5. 【转】gcc命令中参数c和o混合使用的详解

    gcc -c a.c  编译成目标文件a.o  gcc a.c  生成执行文件a.exe  gcc -o a -c a.c    编译成目标文件a  gcc -o a  a.c    生成执行文件a. ...

  6. centos7怎么永久修改hosname

    centos7怎么永久修改hosname 其实,一般来说安装好虚拟机之后,一般都会进行修改hostname,之前也是在修改的时候,遇到过问题,但是没有深究,今天在修改的时候,好好研究了一下,之前看到好 ...

  7. druid:java代码创建连接池

    PropertiesDB 是一个读取配置文件的类,也可以不用,每个参数直接用String代替. public DataSource dataSource(PropertiesDB properties ...

  8. 洛谷P4336 [SHOI2016]黑暗前的幻想乡 [Matrix-Tree定理,容斥]

    传送门 思路 首先看到生成树计数,想到Matrix-Tree定理. 然而,这题显然是不能Matrix-Tree定理硬上的,因为还有每个公司只能建一条路的限制.这个限制比较恶心,尝试去除它. 怎么除掉它 ...

  9. 我不是机器人:谷歌最新版验证码系统ReCaptcha破解已开源

    选自 Github 作者:George Hughey 机器之心编译 每个人都讨厌验证码,这些恼人的图片中包含你必须输入的字符,我们只有正确地填写才能继续访问网站.验证码旨在确认访问者是人还是程序,并防 ...

  10. jdbctemplate 调用oracle 有返回(会话型临时表数据的)结果的存储过程

    注:本文为博主 原创. jdbctemplate 调用oracle存储过程 事务 临时表  有返回结果 1:java 代码 本逻辑代码本是想把 java 代码里的list<Strign>类 ...