Py学生信息管理系统 案例(优化版)
# 第一题:设计一个全局变量,来保存很多个学生信息;学生(学号, 姓名,年龄);思考要用怎样的结构来保存;# 第二题:在第一题基础上,完成:让用户输入一个新的学生信息(学号,姓名,年龄);你将其保存在全局变量中;并提供给用户查看当前有多少个学生的功能;# 第三题:向用户提供根据学号查看指定学员具体信息,指定学号删除学员功能 # 定一个列表,用来存储所有的学生信息(每个学生是一个字典)info_list = [] def print_menu(): print("=" * 42) print("*" * 10 + "简单的学生信息管理系统" + "*" * 10) print("=" * 42) print("1.添加学生信息") print("2.删除学生信息") print("3.给定学号查询学生信息") print("4.显示当前所有学生信息") print("5.保存数据") print("0.退出系统") print("=" * 42) def add_new_info(): """添加学生信息""" global info_list new_sno = input("请输入学生的学号:") new_stuName = input("请输入学生的姓名:") new_sutAge = input("请输入学生的年龄:") for temp_info in info_list: if temp_info['sno'] == new_sno: print("此用户名已经被占用,请重新输入") return # 如果一个函数只有return就相当于让函数结束,没有返回值 # 定义一个字典,用来存储用户的学生信息(这是一个字典) info = {} # 向字典中添加数据 info["sno"] = new_sno info["name"] = new_stuName info["age"] = new_sutAge # 向列表中添加这个字典 info_list.append(info) def del_info(): """删除学生信息""" global info_list del_sno = input("请输入要删除的学生学号:") i = 0 for temp_info in info_list: if temp_info['sno'] == del_sno: del_flag = input("你确定要删除么?(yes or no)") if del_flag == "yes": del info_list[i] print("\n\n删除成功!") else: print("输入学号有误,请重新输入") i += 1 def search_info(): """查询学生信息""" search_sno = input("请输入要查询的学生学号:") for temp_info in info_list: if temp_info['sno'] == search_sno: print("查询到的信息如下:") print("sno:%s, stuName:%s, stuAge:%s" % (temp_info['sno'], temp_info['name'], temp_info['age'])) break else: print("没有您要找的信息....") def print_all_info(): """遍历学生信息查询当前所有学生信息""" print("序号\t学号\t\t姓名\t\t年龄") i = 0 for temp in info_list: # temp是一个字典 print("%d\t%s\t\t%s\t\t%s" % (i, temp['sno'], temp['name'], temp['age'])) i += 1 def save_data(): """加载之前存储的数据""" f = open("info_data.data","w") f.write(str(info_list)) f.close() def load_data(): global info_list """加载之前存储的数据""" f = open("info_data.data") content = f.read() info_list = eval(content) f.close() def main(): """用来控制整个流程""" # 加载数据(先存好数据再打开这个就可以直接读数据了) # load_data() while True: # 1. 打印功能 print_menu() # 2. 获取用户的选择 key = input("请输入要进行的操作(数字):") # 3. 根据用户选择,做相应的事情 if key == "1": # 添加学生 add_new_info() elif key == "2": # 删除学生 del_info() elif key == "3": # 给定学号查询学生信息 search_info() elif key == "4": # 遍历所有的信息 print_all_info() elif key == "5": # 保存数据 save_data() elif key == "0": # 退出系统 exit_flag = input("你确定要退出么?(yes or no) ") if exit_flag == "yes": break else: print("输入有误,请重新输入......") input("\n\n\n按回车键继续....") continue# 程序的开始main()
转载于:https://www.cnblogs.com/yunlongaimeng/p/8811202.html
Py学生信息管理系统 案例(优化版)相关推荐
- JAVA学生信息管理系统IO流版
JAVA学生信息管理系统IO流版 1. Student类 public class Student implements Serializable{//学号private int sid;//姓名pr ...
- 学生信息管理系统(C++语言版)
学生信息管理系统(C语言版) #include "stdio.h" #include "bios.h" #include "conio.h" ...
- python学生信息管理系统项目总结_学生信息管理系统案例小结
周末拿最近学习的知识 (JDBC, Servlet, JSP) 做一个小案例, 本来周末就应该整理笔记的, 但是打球也不能耽误啊, 所以只好赶着在今天下班的时间, 做下记录. 技术准备 Java 基础 ...
- 上海交通大学出版社python教材答案学生信息管理系统_学生信息管理系统(最终版)...
<学生信息管理系统.doc>由会员分享,可免费在线阅读全文,更多与<学生信息管理系统(最终版)>相关文档资源请在帮帮文库(www.woc88.com)数亿文档库存里搜索. 1. ...
- php编写一个学生类_PHP实现简单的学生信息管理系统(web版)
(∩_∩) 1.概述 学了php的一些基础,包括HTML,php,pdo,mysql操作等,一直都没有将它们有机结合.最近写了一个简单的网页版学生信息管理系统,前台用HTML,脚本用到了JavaScr ...
- php学籍信息管理系统心得_PHP实现简单的学生信息管理系统(web版)
(∩_∩) 1.概述 学了php的一些基础,包括HTML,php,pdo,mysql操作等,一直都没有将它们有机结合.最近写了一个简单的网页版学生信息管理系统,前台用HTML,脚本用到了JavaScr ...
- c语言编写老师信息系统源代码,学生信息管理系统c语言版源代码
自己刚学习c语言时,老师让编写的一个学生信息管理系统,仅供参考!违版必究! ------------------------------------------------------------MR ...
- 快递信息管理系统源代码c++_学生信息管理系统C语言版
C语言学生信息管理系统包括以下功能: 1.学生信息的整体注册 2.学生信息的修改 3.学生成绩信息的录入 4.学生信息的添加 5.恢复误删的学生信息 6.学生信息的删除 7.密码修改保存函数 8.学生 ...
- 学生管理系统c语言的作用,C语言实现学生信息管理系统(文件版)
本文实例为大家分享了C语言实现学生信息管理系统的具体代码,供大家参考,具体内容如下 下面是我自己用写的学生信息管理系统,为了增加数据的利用率,分为学生端和教师端,同时实现账号密码登录,以文件的形式将其 ...
最新文章
- AutoCAD VBA:过三点创建一个圆
- master中的系统目录与用户数据库中的区别
- 小提琴机器人拉法_小提琴的拉琴姿势探讨
- 基于 Spring 实现管道模式的最佳实践
- java三个数比大小_三个数的比较 不同的实现方法java
- Openstack Fuel 9.0安装后网卡设置
- html 文章阅读次数,关于浏览次数和浏览次数缓存的问题
- 【Axure图标库】Unicons线形字体图标库1200+ 与FontAwesome同类
- 教程篇(6.4) 02. 路由、会话和性能SLA ❀ SD-WAN ❀ Fortinet 网络安全架构师 NSE7
- Echarts 柱状图配置圆角
- 计算机二级保存错地方,盘点考计算机二级那些容易出错的地方
- DotSoft.C3DTools.v7.0.0.3民用勘测地图和GIS工具集合
- 【计算机组成原理】学习笔记----第一章 计算机系统概述
- JavaScript高级程序设计[美]Nicholas C.Zakas著 读书笔记(一)
- python变成exe需要python环境吗_[Python]py程序发布——Python环境移植和exe程序生成(无环境依赖性),pythonPy,以及,EXE...
- 我的程序员转行过程,聊聊程序员的职业出路在哪里?
- vivo NEX3史上最强旗舰机!瀑布屏+骁龙855+44W+5G,对战华为
- 【2018十大VR眼镜排行榜】VR眼镜有哪些品牌。哪个牌子的VR眼镜比较好,性价比高,适合玩VR游戏的
- 多张图片如何合并成一个pdf
- Java——一些适合新手练手的Java项目