学生信息管理系统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使用wxPython打开并播放wav文件的方法

本文实例讲述了python使用wxPython打开并播放wav文件的方法。分享给大家供大家参考。具体实现方法如下: ''' wx_lib_filebrowsebutton_sound...

Python学生信息管理系统修改版

在学习之前先要了解sqlite游标的使用方法python使用sqlite3时游标的使用方法 继上篇博客Python实现学生信息管理系统后,我就觉得写的太复杂了,然后又是一通优化、优化...

python正则分析nginx的访问日志

前言 本文的脚本是分析nginx的访问日志, 主要为了检查站点uri的访问次数的,检查的结果会提供给研发人员做参考,因为谈到分析嘛,那肯定要用到正则表达式了,所以请没有接触过正则的小伙伴...

Python饼状图的绘制实例

Python饼状图的绘制实例

import numpy as np import matplotlib.pyplot as plt labels = 'A', 'B', 'C', 'D' fracs = [15,...

Python中py文件转换成exe可执行文件的方法

Python中py文件转换成exe可执行文件的方法

一、背景 今天闲着无事,写了一个小小的Python脚本程序,然后给同学炫耀的时候,发现每次都得拉着其他人过来看着自己的电脑屏幕,感觉不是很爽,然后我想着网上肯定有关于Python脚本转...