python实现学员管理系统


Posted in Python onFebruary 26, 2019

python实现学员管理系统这个小程序是我刚刚接触python时,导师带着做的第一个小项目。通过这次练习,我学会了很多东西。下面是具体的代码和要求

'''
学员管理系统1.0版本
1.添加学员
    1.1 输入要添加的学员
    1.2 将学员添加到列表中
2.修改学员
    2.1 输出所有的学员及学员索引(从1开始输出)
    2.2 选择要修改的学员索引,判断索引是否在范围
    2.3 输入要修改的值,根据选择的索引进行修改
3.删除学员
    3.1 根据序号删除学员
        3.1.1 输出所有的学员及学员索引(从1开始输出)
        3.1.2 选择要删除的学员索引,判断索引是否在范围
        3.1.3 根据索引删除学员
    3.2 删除所有学员
4.查询学员
    4.1 输出所有的学员及学员索引(从1开始输出)
0.退出程序
''' 

具体功能代码如下:

def add_stu():
  """
  添加学员
  :return: None
  """
  name = input('请输入要添加的学员姓名:')
  # 将输入的姓名添加到students列表中
  students.append(name)
 
def query_stu():
  """
  查询所有学员
  :return: None
  """
  # 遍历列表
  print('*********学员信息如下所示:*********')
  for x in range(0, len(students)):
 
    name = students[x]
    print('*  索引号:%s,姓名:%s  ' % (x+1, name))
 
def modify_stu():
  """
  修改学员
  :return: None
  """
  # 1.执行查询学员操作
  query_stu()
  # 2.选择要修改的学员索引,并判断索引是否在范围
  idx = int(input('*  请输入要修改的学员索引:'))
 
  while idx < 1 or idx > len(students):
    # 重新输入要修改的索引
    idx = int(input('*  索引有误,请重选:'))
  # 3.根据选择的索引,修改列表中的数据
  name = input('*  请输入修改后的姓名(%s):' % students[idx-1])
  # 修改索引对应的数据
  students[idx-1] = name
  print('*  修改成功!')
 
 
def delete_stu():
  """
  删除学员
  :return: None
  """
  # 1.根据索引删除单个学员 2.删除所有学员
  print('*  a.根据索引删除')
  print('*  b.删除所有学员')
 
  select = input('*  请选择您的删除方式:')
  while select != 'a' and select != 'b':
 
    select = input('*  选择有误,请重选:')
 
  if select == 'a':
    # 根据索引删除
    # pass 作用为了保证代码完整性,使用pass代替未完成代码可以让程序不报错
    # 1.输出所有学员信息
    query_stu()
    # 2.选择要删除的学员索引,判断索引是否在范围
    idx = int(input('*  请输入要删除的学员索引:'))
    while idx <1 or idx > len(students):
      idx = int(input('*  请输入要删除的学员索引:'))
 
    # 确认是否要删除
    is_del = input('*  确认要删除(%s)?y/n:' % students[idx-1])
 
    if is_del == 'y':
 
      # 3.执行删除
      del students[idx-1]
 
 
  else:
    # 删除所有学员
    # del students[:]
    # for x in range(0, len(students)):
 
      # del students[0]
      # pop() 如果不指定索引,一直移除列表中最后一个元素
      # students.pop()
    # while 循环删除
    # 当len(students) 为0时,相当于写了一个False,表示条件为假,循环结束
    while len(students):
      students.pop()
 
# 定义一个用来存放所有学员信息的容器
students = []
 
 
# True(可以用数字1表示) False(可以用数字0表示) 布尔类型数据
while True:
 
  print('********学员管理系统V1.0*********')
  print('*     1.添加学员      *')
  print('*     2.修改学员      *')
  print('*     3.删除学员      *')
  print('*     4.查询学员      *')
  print('*     0.退出程序      *')
  select = int(input('    请选择您的操作:'))
 
  while select <0 or select > 4:
    select = int(input('    选择有误,请重选:'))
 
  print('**********************************')
  if select == 1:
    print('执行添加学员操作')
    add_stu()
 
  elif select == 2:
    print('执行修改学员操作')
    modify_stu()
 
  elif select == 3:
    print('执行删除学员操作')
    delete_stu()
 
  elif select == 4:
    print('执行查询学员操作')
    query_stu()
  else:
    print('*   感谢您的使用,下次再会!   *')
    break

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

Python 相关文章推荐
python实现电子词典
Apr 23 Python
简单介绍Python的Tornado框架中的协程异步实现原理
Apr 23 Python
python实现微信远程控制电脑
Feb 22 Python
Python实现EXCEL表格的排序功能示例
Jun 25 Python
python实现一行输入多个值和一行输出多个值的例子
Jul 16 Python
Django单元测试工具test client使用详解
Aug 02 Python
简单介绍python封装的基本知识
Aug 10 Python
Python 分发包中添加额外文件的方法
Aug 16 Python
Python文本文件的合并操作方法代码实例
Mar 31 Python
python使用Thread的setDaemon启动后台线程教程
Apr 25 Python
python实点云分割k-means(sklearn)详解
May 28 Python
python基于pygame实现飞机大作战小游戏
Nov 19 Python
python实现电子产品商店
Feb 26 #Python
Python selenium根据class定位页面元素的方法
Feb 26 #Python
python实现诗歌游戏(类继承)
Feb 26 #Python
Python实现简单查找最长子串功能示例
Feb 26 #Python
基于Python实现用户管理系统
Feb 26 #Python
python selenium firefox使用详解
Feb 26 #Python
Django实现学员管理系统
Feb 26 #Python
You might like
PHP对象相互引用的内存溢出实例分析
2014/08/28 PHP
JavaScript脚本语言在网页中的简单应用
2007/05/13 Javascript
JavaScript 三种创建对象的方法
2009/10/16 Javascript
JS中 用户登录系统的解决办法
2013/04/15 Javascript
对于Form表单reset方法的新认识
2014/03/05 Javascript
输入框过滤非数字的js代码
2014/09/18 Javascript
分享20款美化网站的 jQuery Lightbox 灯箱插件
2014/10/10 Javascript
JS中如何比较两个Json对象是否相等实例代码
2016/07/13 Javascript
JS匿名函数类生成方式实例分析
2016/11/26 Javascript
jquery删除数组中重复元素
2016/12/05 Javascript
详解Nodejs基于mongoose模块的增删改查的操作
2016/12/21 NodeJs
bootstrap侧边栏圆点导航
2017/01/11 Javascript
深入理解Node.js中的进程管理
2017/03/13 Javascript
angular指令笔记ng-options的使用方法
2017/09/18 Javascript
Angular5中提取公共组件之radio list的实例代码
2018/07/10 Javascript
JavaScript作用域、闭包、对象与原型链概念及用法实例总结
2018/08/20 Javascript
Nodejs中的JWT和Session的使用
2018/08/21 NodeJs
NodeJs生成sitemap站点地图的方法示例
2019/06/11 NodeJs
vue移动端城市三级联动组件使用详解
2019/07/26 Javascript
JS工厂模式开发实践案例分析
2019/10/17 Javascript
[44:40]Serenity vs Pain 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
Python continue语句用法实例
2014/03/11 Python
Python代码的打包与发布详解
2014/07/30 Python
DataFrame中的object转换成float的方法
2018/04/10 Python
解决python写入带有中文的字符到文件错误的问题
2019/01/31 Python
使用Python实现跳帧截取视频帧
2019/05/31 Python
Mac安装python3的方法步骤
2019/08/09 Python
PyTorch的自适应池化Adaptive Pooling实例
2020/01/03 Python
详解Html5 Canvas画线有毛边解决方法
2018/03/01 HTML / CSS
英国办公用品商店:Office Outlet
2018/04/04 全球购物
回馈慈善的设计师太阳镜:DIFF eyewear
2019/10/17 全球购物
应届毕业生求职信范例分享
2013/12/17 职场文书
租房安全协议书
2014/08/20 职场文书
庆七一宣传标语
2014/10/08 职场文书
办公室日常管理制度
2015/08/04 职场文书
python数字图像处理:图像简单滤波
2022/06/28 Python