学生信息管理系统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 相关文章推荐
使用cx_freeze把python打包exe示例
Jan 24 Python
python使用append合并两个数组的方法
Apr 28 Python
Python检测字符串中是否包含某字符集合中的字符
May 21 Python
深入flask之异步非堵塞实现代码示例
Jul 31 Python
11个Python3字典内置方法大全与示例汇总
May 13 Python
python3应用windows api对后台程序窗口及桌面截图并保存的方法
Aug 27 Python
python基于event实现线程间通信控制
Jan 13 Python
python实现的Iou与Giou代码
Jan 18 Python
python 计算概率密度、累计分布、逆函数的例子
Feb 25 Python
使用opencv中匹配点对的坐标提取方式
Jun 04 Python
python操作redis数据库的三种方法
Sep 10 Python
Python getsizeof()和getsize()区分详解
Nov 20 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 全局变量范围分析
2009/08/07 PHP
mysql数据库差异比较的PHP代码
2012/02/05 PHP
php中的filesystem文件系统函数介绍及使用示例
2014/02/13 PHP
ThinkPHP 3.2 数据分页代码分享
2014/10/14 PHP
php开启与关闭错误提示适用于没有修改php.ini的权限
2014/10/16 PHP
phpQuery采集网页实现代码实例
2020/04/02 PHP
js 强制弹出窗口代码研究-又一款代码
2010/03/20 Javascript
js中自定义方法实现停留几秒sleep
2014/07/11 Javascript
js注入 黑客之路必备!
2016/09/14 Javascript
如何判断出一个js对象是否一个dom对象
2016/11/24 Javascript
JavaScript 动态三角函数实例详解
2017/01/08 Javascript
ajax分页效果(bootstrap模态框)
2017/01/23 Javascript
详解angular ui-grid之过滤器设置
2017/06/07 Javascript
基于jquery trigger函数无法触发a标签的两种解决方法
2018/01/06 jQuery
浅析vue深复制
2018/01/29 Javascript
vue 实现剪裁图片并上传服务器功能
2018/03/01 Javascript
axios对请求各种异常情况处理的封装方法
2018/09/25 Javascript
解决angularjs service中依赖注入$scope报错的问题
2018/10/02 Javascript
d3绘制基本的柱形图的实现代码
2018/12/12 Javascript
vue使用一些外部插件及样式的配置代码
2019/11/18 Javascript
JavaScript实现文件下载并重命名代码实例
2019/12/12 Javascript
jQuery编写QQ简易聊天框
2020/08/27 jQuery
vue+elementUI 实现内容区域高度自适应的示例
2020/09/26 Javascript
[40:27]完美世界DOTA2联赛PWL S3 PXG vs GXR 第一场 12.19
2020/12/24 DOTA
Python编程之string相关操作实例详解
2017/07/22 Python
Python实现Dijkstra算法
2018/10/17 Python
如何在Python中实现goto语句的方法
2019/05/18 Python
Python内置加密模块用法解析
2019/11/25 Python
Python实现初始化不同的变量类型为空值
2020/06/02 Python
python subprocess pipe 实时输出日志的操作
2020/12/05 Python
H5 video poster属性设置视频封面的方法
2020/05/25 HTML / CSS
国际旅客访问北美最大的汽车租赁提供商:Alamo Rent A Car
2018/06/13 全球购物
关于Java finally的面试题
2016/04/27 面试题
物流业务员岗位职责
2014/02/08 职场文书
2016年国庆节67周年活动总结
2016/04/01 职场文书
MySQL下载安装配置详细教程 附下载资源
2022/09/23 MySQL