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正则表达式 re模块使用说明
May 19 Python
Python性能优化技巧
Mar 09 Python
python实现一次创建多级目录的方法
May 15 Python
Python使用cx_Oracle模块将oracle中数据导出到csv文件的方法
May 16 Python
python安装教程
Feb 28 Python
python文件选择对话框的操作方法
Jun 27 Python
python变量命名的7条建议
Jul 04 Python
如何利用Python开发一个简单的猜数字游戏
Sep 22 Python
python如何实现复制目录到指定目录
Feb 13 Python
设置jupyter中DataFrame的显示限制方式
Apr 12 Python
MAC平台基于Python Appium环境搭建过程图解
Aug 13 Python
关于PyCharm安装后修改路径名称使其可重新打开的问题
Oct 20 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
文件上传的实现
2006/10/09 PHP
浅析Mysql 数据回滚错误的解决方法
2013/08/05 PHP
PHP实现通过正则表达式替换回调的内容标签
2015/06/15 PHP
jQuery EasyUI 开源插件套装 完全替代ExtJS
2010/03/24 Javascript
jquery下json数组的操作实现代码
2010/08/09 Javascript
jQuery Ajax 实例全解析
2011/04/20 Javascript
jQuery实现 注册时选择阅读条款 左右移动
2013/04/11 Javascript
通过JavaScript使Div居中并随网页大小改变而改变
2013/06/24 Javascript
浅析LigerUi开发中谨慎载入common.css文件
2013/07/09 Javascript
jQuery对html元素取值与赋值的方法
2013/11/20 Javascript
使用js解决由border属性引起的div宽度问题
2013/11/26 Javascript
Javascript aop(面向切面编程)之around(环绕)分析
2015/05/01 Javascript
node实现简单的反向代理服务器
2017/07/26 Javascript
Vue formData实现图片上传
2019/08/20 Javascript
JS秒杀倒计时功能完整实例【使用jQuery3.1.1】
2019/09/03 jQuery
vue点击当前路由高亮小案例
2019/09/26 Javascript
浅谈Node新版本13.2.0正式支持ES Modules特性
2019/11/25 Javascript
package.json中homepage属性的作用详解
2020/03/11 Javascript
[42:20]2014 DOTA2华西杯精英邀请赛5 24 DK VS NewBee
2014/05/25 DOTA
[01:35:13]DOTA2-DPC中国联赛 正赛 DLG vs PHOENIX BO3 第一场 1月18日
2021/03/11 DOTA
Python urllib模块urlopen()与urlretrieve()详解
2013/11/01 Python
Python机器学习k-近邻算法(K Nearest Neighbor)实例详解
2018/06/25 Python
Python人脸识别第三方库face_recognition接口说明文档
2019/05/03 Python
详解如何减少python内存的消耗
2019/08/09 Python
Python小白学习爬虫常用请求报头
2020/06/03 Python
html5声频audio和视频video等新特性详细说明
2012/12/26 HTML / CSS
英国领先的办公用品供应商:Viking
2016/08/01 全球购物
丹尼尔惠灵顿手表天猫官方旗舰店:Daniel Wellington
2017/08/25 全球购物
马来西亚最大的电器网站:Senheng
2017/10/13 全球购物
英国手机零售商:Metrofone
2019/03/18 全球购物
优秀毕业生自我鉴定
2014/01/19 职场文书
护士节策划方案
2014/05/19 职场文书
运动会广播稿诗歌版
2014/09/12 职场文书
2016年春季运动会广播稿
2015/08/19 职场文书
用Python进行栅格数据的分区统计和批量提取
2021/05/27 Python
Vue深入理解插槽slot的使用
2022/08/05 Vue.js