# 第一题:设计一个全局变量,来保存很多个学生信息;学生(学号, 姓名,年龄);思考要用怎样的结构来保存;
# 第二题:在第一题基础上,完成:让用户输入一个新的学生信息(学号,姓名,年龄);你将其保存在全局变量中;并提供给用户查看当前有多少个学生的功能;
# 第三题:向用户提供根据学号查看指定学员具体信息,指定学号删除学员功能 # 用来保存学生的所有信息
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. protobuf 安装与卸载

    方法一:可以FQ 安装 下载https://github.com/google/protobuf/releases ##Source code (zip)## ./autogen.sh ./confi ...

  2. 【转】python模块分析之hashlib加密(二)

    [转]python模块分析之hashlib加密(二) hashlib模块是用来对字符串进行hash加密的模块,明文与密文是一一对应不变的关系:用于注册.登录时用户名.密码等加密使用.一.函数分析:1. ...

  3. Shell命令和技巧

    监控命令(每2秒运行一次) watch "ls -larth" 使用一个端口杀死程序 sudo fuser -k 8000/tcp 限制以下命令的内存使用 ulimit -Sv 1 ...

  4. 通过全备+relaylog同步恢复被drop的库或表【转】

    MySQL 中drop 等高危误操作后恢复方法 实验目的: 本次实验以恢复drop操作为例,使用不同方法进行误操作的数据恢复. 方法: 利用master同步 伪master+Binlog+同步 利用b ...

  5. python父类调用子类了解一下

    class B(): def __init__(self): pass def start(self): print(self.parse()) class A(B): def __init__(se ...

  6. makefile中的gcc -o $@ $^是什么意思?

    $@表示目标,$^表示依赖列表. 比如: edit : main.o kbd.o command.o display.o insert.o search.o files.o utils.o $@就是e ...

  7. 修改.bashrc文件PATH变量错误导致系统大部分命令失效

    修改.bashrc环境变量,在文件最后添加openssl变量, 本来应该写 export PATH=$PATH:/usr/local/openssl/bin 误写成 export PATH=/usr/ ...

  8. web@前端--html,css,javascript简介、第一个页面(常用标签简介)

    1.什么是标签#1.在HTML中规定标签使用英文的的尖括号即`<`和`>`包起来,如`<html>`.`<head>`.`<body>`都是标签,#2. ...

  9. WebSocket参考

    websocker是一种网页和服务端建立tcp全双工通信的技术,可以不再让页面进行向服务器发送轮询请求. 需要注意使用的场景,如果建立的tcp过多的话,会对服务器有很大压力. WebSocket前后台 ...

  10. LabVIEW中下拉列表和枚举的区别(两点)

    第一:如图,在表示法上,下拉列表表示的数据范围要大,枚举只能是U32,U16, U8 第二:在vi的动态调用过程中,常用下拉列表,因为枚举控件不能动态的增加或者减少项目,而下拉列表则可以.