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

yipeiwu_com5年前Python基础

本文实例为大家分享了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实现将一个正整数分解质因数的方法分析

本文实例讲述了Python实现将一个正整数分解质因数的方法。分享给大家供大家参考,具体如下: 遇到一个python编程联系题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3...

python框架django项目部署相关知识详解

python框架django项目部署相关知识详解

这篇文章主要介绍了python框架django项目部署相关知识详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 一:项目部署的框架...

python3实现全角和半角字符转换的方法示例

前言 本文主要给大家介绍了关于python3中全角和半角字符转换的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。 一、背景介绍 解决什么问题:快速方便的对文...

Pandas标记删除重复记录的方法

Pandas提供了duplicated、Index.duplicated、drop_duplicates函数来标记及删除重复记录 duplicated函数用于标记Series中的值、Da...

python控制台实现tab补全和清屏的例子

在shell(bash)下有2个很基本的功能,那就是tab补全,和clear清屏,对于我这种时不时不自觉的就手残要clear清屏一下的人来说,python控制台不能清屏很不爽,经过goo...