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

# 定一个列表,用来存储所有的学生信息(每个学生是一个字典)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学生信息管理系统 案例(优化版)相关推荐

  1. JAVA学生信息管理系统IO流版

    JAVA学生信息管理系统IO流版 1. Student类 public class Student implements Serializable{//学号private int sid;//姓名pr ...

  2. 学生信息管理系统(C++语言版)

    学生信息管理系统(C语言版) #include "stdio.h" #include "bios.h" #include "conio.h" ...

  3. python学生信息管理系统项目总结_学生信息管理系统案例小结

    周末拿最近学习的知识 (JDBC, Servlet, JSP) 做一个小案例, 本来周末就应该整理笔记的, 但是打球也不能耽误啊, 所以只好赶着在今天下班的时间, 做下记录. 技术准备 Java 基础 ...

  4. 上海交通大学出版社python教材答案学生信息管理系统_学生信息管理系统(最终版)...

    <学生信息管理系统.doc>由会员分享,可免费在线阅读全文,更多与<学生信息管理系统(最终版)>相关文档资源请在帮帮文库(www.woc88.com)数亿文档库存里搜索. 1. ...

  5. php编写一个学生类_PHP实现简单的学生信息管理系统(web版)

    (∩_∩) 1.概述 学了php的一些基础,包括HTML,php,pdo,mysql操作等,一直都没有将它们有机结合.最近写了一个简单的网页版学生信息管理系统,前台用HTML,脚本用到了JavaScr ...

  6. php学籍信息管理系统心得_PHP实现简单的学生信息管理系统(web版)

    (∩_∩) 1.概述 学了php的一些基础,包括HTML,php,pdo,mysql操作等,一直都没有将它们有机结合.最近写了一个简单的网页版学生信息管理系统,前台用HTML,脚本用到了JavaScr ...

  7. c语言编写老师信息系统源代码,学生信息管理系统c语言版源代码

    自己刚学习c语言时,老师让编写的一个学生信息管理系统,仅供参考!违版必究! ------------------------------------------------------------MR ...

  8. 快递信息管理系统源代码c++_学生信息管理系统C语言版

    C语言学生信息管理系统包括以下功能: 1.学生信息的整体注册 2.学生信息的修改 3.学生成绩信息的录入 4.学生信息的添加 5.恢复误删的学生信息 6.学生信息的删除 7.密码修改保存函数 8.学生 ...

  9. 学生管理系统c语言的作用,C语言实现学生信息管理系统(文件版)

    本文实例为大家分享了C语言实现学生信息管理系统的具体代码,供大家参考,具体内容如下 下面是我自己用写的学生信息管理系统,为了增加数据的利用率,分为学生端和教师端,同时实现账号密码登录,以文件的形式将其 ...

最新文章

  1. AutoCAD VBA:过三点创建一个圆
  2. master中的系统目录与用户数据库中的区别
  3. 小提琴机器人拉法_小提琴的拉琴姿势探讨
  4. 基于 Spring 实现管道模式的最佳实践
  5. java三个数比大小_三个数的比较 不同的实现方法java
  6. Openstack Fuel 9.0安装后网卡设置
  7. html 文章阅读次数,关于浏览次数和浏览次数缓存的问题
  8. 【Axure图标库】Unicons线形字体图标库1200+ 与FontAwesome同类
  9. 教程篇(6.4) 02. 路由、会话和性能SLA ❀ SD-WAN ❀ Fortinet 网络安全架构师 NSE7
  10. Echarts 柱状图配置圆角
  11. 计算机二级保存错地方,盘点考计算机二级那些容易出错的地方
  12. DotSoft.C3DTools.v7.0.0.3民用勘测地图和GIS工具集合
  13. 【计算机组成原理】学习笔记----第一章 计算机系统概述
  14. JavaScript高级程序设计[美]Nicholas C.Zakas著 读书笔记(一)
  15. python变成exe需要python环境吗_[Python]py程序发布——Python环境移植和exe程序生成(无环境依赖性),pythonPy,以及,EXE...
  16. 我的程序员转行过程,聊聊程序员的职业出路在哪里?
  17. vivo NEX3史上最强旗舰机!瀑布屏+骁龙855+44W+5G,对战华为
  18. 【2018十大VR眼镜排行榜】VR眼镜有哪些品牌。哪个牌子的VR眼镜比较好,性价比高,适合玩VR游戏的
  19. 多张图片如何合并成一个pdf
  20. Java——一些适合新手练手的Java项目

热门文章

  1. 兼容性好的overflow CSS清除浮动一例
  2. ToolBarTray与ToolBarPanel的区别
  3. rocksdb学习笔记
  4. Java---取得操作系统默认的代理
  5. android事件分发 入口(dispatchTouchEvent)
  6. 【Android】启动过程:Bootloader-System/Recovery
  7. java.lang包—StringBuffer类和StringBuilder类
  8. 自动规避代码陷阱——自定义Lint规则
  9. Django中用Jquery实现不刷新页面进行身份验证和计算器功能
  10. 毕业设计:文献参考(十三)