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运算π的值深入Python中科学计算的实现
Apr 17 Python
python安装与使用redis的方法
Apr 19 Python
基于Python 的进程管理工具supervisor使用指南
Sep 18 Python
python  创建一个保留重复值的列表的补码
Oct 15 Python
python 输入一个数n,求n个数求乘或求和的实例
Nov 13 Python
python调用opencv实现猫脸检测功能
Jan 15 Python
Appium Python自动化测试之环境搭建的步骤
Jan 23 Python
Python实现程序判断季节的代码示例
Jan 28 Python
Python List cmp()知识点总结
Feb 18 Python
Python调用OpenCV实现图像平滑代码实例
Jun 19 Python
Python爬取网页信息的示例
Sep 24 Python
Numpy中的数组搜索中np.where方法详细介绍
Jan 08 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防止sql注入代码实例
2013/12/18 PHP
php获取从百度、谷歌等搜索引擎进入网站关键词的方法
2015/07/08 PHP
PHP入门教程之数学运算技巧总结
2016/09/11 PHP
php对接java现实加签验签的实例
2016/11/25 PHP
ASP.NET jQuery 实例10 动态修改hyperlink的URL值
2012/02/03 Javascript
Extjs表单常见验证小结
2014/03/07 Javascript
javascript表格的渲染组件
2015/07/03 Javascript
js动态生成form 并用ajax方式提交的实现方法
2016/09/09 Javascript
基于angular中的重要指令详解($eval,$parse和$compile)
2016/10/21 Javascript
浅谈jquery拼接字符串效率比较高的方法
2017/02/22 Javascript
详谈jQuery Ajax(load,post,get,ajax)的用法
2017/03/02 Javascript
JavaScript实现职责链模式概述
2018/01/25 Javascript
angular实现页面打印局部功能的思考与方法
2018/04/13 Javascript
Vue项目全局配置页面缓存之按需读取缓存的实现详解
2018/08/01 Javascript
node运行js获得输出的三种方式示例详解
2020/07/02 Javascript
常见python正则用法的简单实例
2016/06/21 Python
VTK与Python实现机械臂三维模型可视化详解
2017/12/13 Python
selenium在执行phantomjs的API并获取执行结果的方法
2018/12/17 Python
Python处理时间日期坐标轴过程详解
2019/06/25 Python
python3获取url文件大小示例代码
2019/09/18 Python
Python Django框架url反向解析实现动态生成对应的url链接示例
2019/10/18 Python
python基于gevent实现并发下载器代码实例
2019/11/01 Python
移动Web—CSS为Retina屏幕替换更高质量的图片
2012/12/24 HTML / CSS
德国体育用品网上商店:SC24.com
2016/08/01 全球购物
优秀班干部事迹材料
2014/01/26 职场文书
保安岗位职责
2014/02/21 职场文书
生物技术专业求职信
2014/06/10 职场文书
2014离婚协议书范文两篇
2014/09/15 职场文书
2014党员学习兰辉先进事迹思想汇报
2014/09/17 职场文书
挂靠协议书
2015/01/27 职场文书
质量负责人岗位职责
2015/02/15 职场文书
2016年寒假学习心得体会
2015/10/09 职场文书
Python编程编写完善的命令行工具
2021/09/15 Python
Win11 Build 21996.1 Dev版怎么样? win11系统截图欣赏
2021/11/21 数码科技
微信小程序APP的事件绑定以及传递参数时的冒泡和捕获
2022/04/19 Javascript
Python使用plt.boxplot()函数绘制箱图、常用方法以及含义详解
2022/08/14 Python