学生信息管理系统Python面向对象版


Posted in Python onJanuary 30, 2019

本文实例为大家分享了python学生信息管理系统的具体代码,供大家参考,具体内容如下

"""
  程序名称:学生信息管理系统
  版本信息:0.1
  开发者:飞宇
  开始时间:2018.3.23 19:45
  版本更新时间:2018.4.2 23:08
  格式:IPO
  OOP面向对象
"""
# 学生类
class Student:
  def __init__(self, stuId, name, age, sex, dept, nation):
    self.stuId = stuId
    self.name = name
    self.age = age
    self.sex = sex
    self.dept = dept
    self.nation = nation
  def studentoop(self):
    pass
# 管理系统类
class Sys:
  def __init__(self):
    pass
  # 展示系统菜单
  def show_menu(self):
    print("=" * 56)
    print("")
    print("         学生信息管理系统 v1.0")
    print("")
    print("          1:添加用户信息")
    print("          2:查询用户信息")
    print("          3:修改用户信息")
    print("          4:删除用户信息")
    print("          5:显示用户信息")
    print("          0:退出系统")
    print("")
    print("=" * 56)
  # 输入学生菜单
  def getinfo(self):
    global new_stuId
    global new_name
    global new_age
    global new_sex
    global new_dept
    global new_nation
    new_stuId = input("请输入学号:")
    new_name = input("请输入名字:")
    new_age = input("请输入年龄:")
    new_sex = input("请输入性别:")
    new_dept = input("请输入专业:")
    new_nation = input("请输入民族:")
  # 添加学生信息
  def add_stus(self):
    #调用getinfo方法
    self.getinfo()
    #以ID为Key,将新输入的信息赋值给Student类
    students[new_stuId] = Student(new_stuId, new_name, new_age, new_sex, new_dept, new_nation)
    # 打印添加的学生信息
    print("学号:%s" % students[new_stuId].stuId, "姓名:%s" % students[new_stuId].name, "年龄:%s" % students[new_stuId].age,
       "性别:%s" % students[new_stuId].sex, "专业:%s" % students[new_stuId].dept, "民族:%s" % students[new_stuId].nation)
    print("=" * 56)
  # 查询学生信息
  def find_stus(self):
    find_nameId = input("请输入要查的学号")
    if find_nameId in students.keys():
      print("学号:%s\t名字:%s\t年龄:%s\t性别:%s\t名字:%s\t民族:%s" %
         (students[new_stuId].stuId, students[new_stuId].name, students[new_stuId].age,
          students[new_stuId].sex, students[new_stuId].dept, students[new_stuId].nation))
    else:
      print("查无此人")
    print("=" * 56)
  # 修改学生信息
  def alter_stus(self):
    alterId = input("请输入你要修改学生的学号:")
    self.getinfo()
    # 当字典中Key相同时,覆盖掉以前的key值
    if alterId in students.keys():
      students[new_stuId] = Student(new_stuId, new_name, new_age, new_sex, new_dept, new_nation)
      del students[alterId]
    else:
      print("查无此人")
    print("=" * 56)
  # 删除学生信息
  def del_stus(self):
 
    cut_nameID = input("请输入要删除的学号:")
    if cut_nameID in students.keys():
      del students[cut_nameID]
    else:
      print("查无此人")
    print("=" * 56)
  # 显示学生信息
  def show_stus(self):
 
    for new_stuId in students:
      print("学号:%s\t名字:%s\t年龄:%s\t性别:%s\t名字:%s\t民族:%s" %
         (students[new_stuId].stuId, students[new_stuId].name, students[new_stuId].age,
          students[new_stuId].sex, students[new_stuId].dept, students[new_stuId].nation))
    print("=" * 56)
  # 退出
  def exit_stus(self):
    print("欢迎下次使用")
    exit()
# 创建系统对象
sys = Sys()
# 定义一个容器来存储学生信息
students = {}
sys.show_menu()
while True:
  choice = int(input("请选择功能:"))
  if choice == 1:
    sys.add_stus()
  elif choice == 2:
    sys.find_stus()
  elif choice == 3:
    sys.alter_stus()
  elif choice == 4:
    sys.del_stus()
  elif choice == 5:
    sys.show_stus()
  elif choice == 0:
    sys.exit_stus()
  else:
    print("您输入有误,请重新输入")

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python爬虫教程之爬取百度贴吧并下载的示例
Mar 07 Python
python自动化测试之从命令行运行测试用例with verbosity
Sep 28 Python
python实现多线程的两种方式
May 22 Python
详解Python中的__getitem__方法与slice对象的切片操作
Jun 27 Python
利用Python获取操作系统信息实例
Sep 02 Python
rabbitmq(中间消息代理)在python中的使用详解
Dec 14 Python
python 不同方式读取文件速度不同的实例
Nov 09 Python
Python 实现交换矩阵的行示例
Jun 26 Python
opencv中图像叠加/图像融合/按位操作的实现
Apr 01 Python
Python利用命名空间解析XML文档
Aug 10 Python
pycharm激活方法到2099年(激活流程)
Sep 22 Python
python实现简单的井字棋游戏(gui界面)
Jan 22 Python
python学生管理系统开发
Jan 30 #Python
Python修改文件往指定行插入内容的实例
Jan 30 #Python
python学生管理系统
Jan 30 #Python
selenium+python截图不成功的解决方法
Jan 30 #Python
python列表使用实现名字管理系统
Jan 30 #Python
Python基本socket通信控制操作示例
Jan 30 #Python
Python mutiprocessing多线程池pool操作示例
Jan 30 #Python
You might like
PHP_Flame(Version:Progress)的原代码
2006/10/09 PHP
PHP If Else(elsefi) 语句
2013/04/07 PHP
深入解析PHP垃圾回收机制对内存泄露的处理
2013/06/14 PHP
PHP中你应该知道的require()文件包含的正确用法
2015/06/12 PHP
extjs form textfield的隐藏方法
2008/12/29 Javascript
JavaScript 精粹读书笔记(1,2)
2010/02/07 Javascript
jquery+ashx无刷新GridView数据显示插件(实现分页、排序、过滤功能)
2010/04/25 Javascript
js中用window.open()打开多个窗口的name问题
2014/03/13 Javascript
深入理解JavaScript系列(28):设计模式之工厂模式详解
2015/03/03 Javascript
Jquery $when done then的用法详解
2016/05/20 Javascript
JS实现快速的导航下拉菜单动画效果附源码下载
2016/11/01 Javascript
js css3实现图片拖拽效果
2017/03/04 Javascript
jQuery插件HighCharts绘制的基本折线图效果示例【附demo源码下载】
2017/03/07 Javascript
解析NodeJS异步I/O的实现
2017/04/13 NodeJs
bootstrap+jQuery 实现下拉菜单中复选框全选和全不选效果
2017/06/12 jQuery
JSON字符串操作移除空串更改key/value的介绍
2019/01/05 Javascript
理解Proxy及使用Proxy实现vue数据双向绑定操作
2020/07/18 Javascript
[01:14]辉夜杯战队访谈宣传片—NEWBEE.Y
2015/12/26 DOTA
Python多进程分块读取超大文件的方法
2016/04/13 Python
解决python中使用plot画图,图不显示的问题
2018/07/04 Python
Python实现计算字符串中出现次数最多的字符示例
2019/01/21 Python
python求平均数、方差、中位数的例子
2019/08/22 Python
tensorflow之tf.record实现存浮点数数组
2020/02/17 Python
2021年的Python 时间轴和即将推出的功能详解
2020/07/27 Python
python opencv实现简易画图板
2020/08/27 Python
Python私有属性私有方法应用实例解析
2020/09/15 Python
HTML5 canvas基本绘图之绘制阴影效果
2016/06/27 HTML / CSS
HTML5之WebGL 3D概述(下)—借助类库开发及框架介绍
2013/01/31 HTML / CSS
过滤器的用法
2013/10/08 面试题
优秀团员个人的自我评价
2013/10/02 职场文书
土木工程个人自荐信范文
2013/11/30 职场文书
研究生求职推荐信范文
2013/11/30 职场文书
大学生学习面向未来的赶考思想汇报
2014/09/12 职场文书
社保缴纳证明申请书
2014/11/03 职场文书
2015年助残日活动总结
2015/03/27 职场文书
导游词之贵州织金洞
2019/10/12 职场文书