Python练习题----学生管理系统(面向对象版本)

一. 题目要求:
学生信息管理:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等。设计一个学生信息管理系统,使之提供以下功能:

——系统以菜单形式工作
——学生信息录入功能(输入)
——学生信息浏览功能(输出)
——查询、排序功能(算法,目前只实现了用学号进行查询)
——学生信息的删除与修改

二. 解题思路:
利用面向对象的方法,本题需要创建两个类,一个是学生的信息类,用于处理信息,第二个便是菜单类,用于根据用户的需求提供服务。本题学生信息的存储是用的字典格式进行保存,字典的KEY值为每个学生的学号,VALUE值是该学生的其他所有信息用一个列表贮存。当你需要查找或者删除时,只需要删除字典学生的KEY值就可以了。本题的学生各个信息都被定义为全局变量,所以修改绑定时较为方便只需要调用写入的方法即可。

三. 代码与截图部分

class Student:def __init__(self, stuid, name, sex, bir, adr, phn):""":param number:学号:param name: 姓名:param sex: 性别:param bir: 生日:param adr: 地址:param phn: 电话号码"""self.stuid = stuidself.name = nameself.sex = sexself.bir = birself.adr = adrself.phn = phndef __str__(self):return '<Book: %s>' % (self.name)# 操作系统类
class Mana:def __init__(self):passdef menu(self):print("*" * 50)print("")print("         学生信息管理系统     ")print("")print("          1:添加用户信息")print("          2:查询用户信息")print("          3:修改用户信息")print("          4:删除用户信息")print("          5:显示用户信息")print("          0:退出系统")print("")print("*" * 50)# 输入学生信息def inf(self):global stuidglobal nameglobal sexglobal birglobal adrglobal phnstuid = input('请输入学生学号:')name = input('请输入学生姓名:')sex = input('请输入学生性别:')bir = input('请输入学生生日:')adr = input('请输入学生家庭住址:')phn = input('请输入学生电话号码:')# 导入信息def add_inf(self):self.inf()students[stuid] = Student(stuid, name, sex, bir, adr, phn)print('学号:%s' % students[stuid].stuid, '姓名:%s' % students[stuid].name, '性别:%s' % students[stuid].sex,'生日:%s' % students[stuid].bir, '住址:%s' % students[stuid].adr, '电话:%s' % students[stuid].phn)print('*' * 50)# 查询信息def find_inf(self):findinf = input('请输入要查的学生的学号:')if findinf in students.keys():print('学号:%s\n姓名:%s\n性别:%s\n生日:%s\n住址:%s\n电话:%s' % (students[stuid].stuid, students[stuid].name, students[stuid].sex, students[stuid].bir,students[stuid].adr,students[stuid].phn))else:print('没有此学生的信息!')print('*' * 50)# 更改信息def update_inf(self):upinfid = input('请输入要更改的学生的学号:')self.inf()if upinfid in students.keys():students[stuid] = Student(stuid, name, sex, bir, adr, phn)print('更改信息成功!')else:print('系统中没有此人!')print('*' * 50)# 删除信息def del_inf(self):delinf = input('请输入要删除的学生的学号:')if delinf in students.keys():del students[delinf]print('删除该学生信息成功!')else:print('没有该学生!无法删除!')# 显示全部学生信息def show_inf(self):for stuid in students:print('学号:%s\n姓名:%s\n性别:%s\n生日:%s\n地址:%s\n电话:%s' % (students[stuid].stuid, students[stuid].name, students[stuid].sex, students[stuid].bir,students[stuid].adr,students[stuid].phn))print('*' * 50)# 退出def exit(self):print("已退出")exit()students = {}
mna = Mana()
mna.menu()
while True:choice = int(input("请选择功能:"))if choice == 1:mna.add_inf()elif choice == 2:mna.find_inf()elif choice == 3:mna.update_inf()elif choice == 4:mna.del_inf()elif choice == 5:mna.show_inf()elif choice == 6:mna.exit()else:print("您输入有误,请重新输入")

录入学生信息:

查询学生信息:

更改学生信息:

删除学生信息:

显示所有学生信息:

Python学生管理系统——面向对象版本相关推荐

  1. Python 学生管理系统+mysql+Flask

    Python 学生管理系统 前言 项目目录 config py mapper.student_mapper.py static templates 主要代码块 student_controller.p ...

  2. 史上最全面的python学生管理系统教程(二)

    目录 序言 sqlite使用教程 python sqlite使用教程 数据库构造 学生信息表结构: 教师信息表结构: 课程成绩表结构: 教师添加课程: 学生表连接课程成绩表: 数据库语句了解 sqli ...

  3. Python学生管理系统代码

    Python学生管理系统代码一览 复制即用 初学见谅 #python study # -*- coding: utf-8 -*-#学员信息 data = [{'id': ' 1','name': '辛 ...

  4. 学生管理系统分离版本调整--我是最靓的仔

    学生管理系统分离版本调整–我是最靓的仔 vue技术栈: vue+vuex+router cookie技术存储 sessionStorage存储 权限指令封装 动态路由调整 皮肤调整 侧边栏调整 表格皮 ...

  5. python学生管理系统用类写_python面向对象——学校学生教职工管理系统类的实例...

    这里做一个学校的人事管理系统中的类的实例化,其中含有的类:Person.Student.Stuff三个类.下面来具体分析类所要实现的功能. 首先可以定义使用Person类,找出学生和教职工之间的共同属 ...

  6. python学生管理系统-学生管理系统python

    广告关闭 腾讯云+校园是针对学生用户推出的专项扶持计划,1核2G云服务器9元/月起,云数据库2元/月起,并享受按购买价续费的优惠,助力莘莘学子轻松上云 print(该学生不存在)return none ...

  7. python学生管理系统数据库_Django+Mysql实现--学生管理系统

    写在前面 在python课中老师要求使用python的web框架实现学生管理系统,经过查找资料等,最后选择了使用Django来搭建这个系统 Django Django是一个开放源代码的Web应用框架, ...

  8. python学生管理系统-python实现学生管理系统

    python写的简单的学生管理系统,练习python语法. 可以运行在windows和linux下,python 2.7. #!/usr/local/bin/python # -*- coding:u ...

  9. Python学生管理系统【原码+实现过程】

    目录 一.实现要求 二.类框架的搭建 1. student类定义 2.StudentManagerSystem类基本框架的定义: 三.类方法的具体实现 1.菜单函数 2.添加学生信息方法 3.删除学生 ...

最新文章

  1. WPF中的容器控件——Grid
  2. C语言字符糊到了一起,C语言速成及格课.docx
  3. 解决百度网盘(百度云)分享链接不存在失效、分享的文件已经被取消的问题
  4. php 常见的算法题,php最常见最经典的算法题(1)
  5. 【Android】RxJava的使用(一)基本用法
  6. 苹果4怎么越狱_苹果手机如何截屏
  7. eclipse如何删除空行
  8. 服务器的mdf文件怎么打开,mdf文件,教您mdf文件怎么打开
  9. 三国群雄传ol服务器 修改,三国群英传ol 单机版,如何修改国战、暴率、经验等问题?...
  10. OCR文字识别算法与搭建流程
  11. Coding and Paper Letter(八十三)
  12. 云原生赋能传统行业软件离线交付
  13. 湖南省中职计算机应用教资笔试+面试心得
  14. HUSTOJ超级详细部署文档
  15. 10个国外设计网站(自学设计的童鞋建议收藏)
  16. MATLAB 调用cplex解二次规划,【Cplex for MATLAB】安装问题以及二次规划的源码解释问题...
  17. windows 连接蓝牙耳机失败 解决方法
  18. matlab怎么画两个自变量的图_眼线液的画步骤图 眼线怎么画好看图解
  19. 仿系统闹钟,实现更新安装之后还可以响铃,开机启动功能需要手机自带开机自启动
  20. 关于Linux下的复制命令保持文件的属性和链接文件的依赖性等

热门文章

  1. 安卓无法收到推送的问题
  2. 服务器默认文件列表,Cloud Foundry 默认文件路径列表
  3. 传说对决显示无法连接服务器,传说对决 -Arena of Valor-总是显示无法连接网络
  4. java中集合的分割
  5. 1月份浏览器排名:Chrome 再次占领霸主地位
  6. php延迟加载js,延时加载JavaScript代码提高速度
  7. oracle 9i 启动数据库,Oracle9i数据库的启动和停止
  8. 第六节、AHK变量和运算符
  9. 数字孪生虚拟电厂负荷控制系统可视化
  10. 记录D6-23.5.21