学员管理系统是刚接触python时算是一个比较难的小项目,毕竟第一次接触这样的思维逻辑,不过用心学起来还是很有趣的,发现乐在其中,也就不觉得难了。下面给大家分享一下学员管理系统较为完整的代码

1.主程序

import sys ,datetime
stulist = []
stuNumlist = []
userdata = {}
while True:userInput = showmenu()if userInput == "1":addStu()elif userInput == "2":delStu()elif userInput == "3":revStu()elif userInput == "4":queryStu()elif userInput == "5":sys.exit()else:print("输入了错误的信息!")continue

2.打印菜单

def showmenu():print("============================================学员管理系统======================================================")print("#  *    *    *     *       *       *       1.添加新学员   *     *     *     *     *     *      *     *     * #")print("#     *     *    *     *      *         *  2.删除学员  *     *     *     *     *     *      *      *    *    #")print("#   *     *   *      *     *      *        3.修改学员     *     *      *     *     *     *      *      *     #")print("#      *      *     *      *       *       4.查询学员   *     *     *     *     *      *      *     *       *#")print("#   *      *     *     *      *       *    5.按Q退出系统    *     *     *     *      *      *    *      *    #")print("=============================================================================================================")userInput = input("请输入你要进行操作的操作编码:")return userInput

3.添加学员

def addStu():while True:user_name = input("请输入学员姓名,输入q退出:").strip().lower()if user_name in stulist:print("此学生已存在!请重新输入。")continueif len(user_name) == 0:print("学员姓名不能为空!")if user_name == "q":breakuser_age = input("请输入学员年龄:").strip()if int(user_age) < 0 or int(user_age) > 100:print("错误的年龄!")continueuser_num = input("请输入学员学号:").strip()if user_num in stuNumlist:print("重复的学号!")continueuser_sex = input("请输入学员性别[f|m]:").strip().lower()if user_sex != "f" and user_sex != "m":print("错误的性别!")continueuserdata[user_name] = {"name":user_name,"age":user_age,"num":user_num,"sex":user_sex}userdata[user_num] = {"name":user_name,"age":user_age,"num":user_num,"sex":user_sex}stulist.append(user_name)stuNumlist.append(user_num)print("学员添加完成!")time.sleep(1.5)break

4.删除学员

def delStu():while True:num = 1for neer in stulist:print(num,neer)num += 1userinput = input("请选择要删除的学员编号,返回请按y,退出请按b:").strip().lower()if userinput == "y":breakelif userinput == "b":sys.exit()elif stulist[int(userinput)-1] in stulist:del userdata[stulist[int(userinput)-1]]del userdata[stuNumlist[int(userinput)-1]]del stulist[int(userinput)-1]del stuNumlist[int(userinput)-1]print("删除成功!")time.sleep(1.5)break

5.修改学员信息

def revStu():while True:num = 1for neer in stulist:print(num, neer)num += 1userinput = input("请选择要修改的学员编号,返回请按y,退出请按b:").strip().lower()if userinput == "y":breakelif userinput == "b":sys.exit()elif stulist[int(userinput) - 1] in stulist:user_name = input("请输入学员姓名:").strip().lower()if user_name in stulist:print("此学生已存在!请重新输入。")continueif len(user_name) == 0:print("学员姓名不能为空!")user_age = input("请输入学员年龄:").strip()if int(user_age) < 0 or int(user_age) > 100:print("错误的年龄!")continueuser_num = input("请输入学员学号:").strip()if user_num in stuNumlist:print("重复的学号!")continueuser_sex = input("请输入学员性别[f|m]:").strip().lower()if user_sex != "f" and user_sex != "m":print("错误的性别!")continuedel userdata[stulist[int(userinput) - 1]]del userdata[stuNumlist[int(userinput) - 1]]del stulist[int(userinput) - 1]del stuNumlist[int(userinput) - 1]userdata[user_name] = {"name": user_name, "age": user_age, "num": user_num, "sex": user_sex}userdata[user_num] = {"name": user_name, "age": user_age, "num": user_num, "sex": user_sex}stulist.append(user_name)stuNumlist.append(user_num)print("学员信息修改成功!")time.sleep(1.5)break

6.查询学员信息

def queryStu():userinput = input("请输入查询的学员姓名或学号:").strip()if userinput in stuNumlist:name = userdata[userinput]["name"]age = userdata[userinput]["age"]num = userdata[userinput]["num"]sex = userdata[userinput]["sex"]print("学员姓名是:%s ,年龄是:%s ,性别是:%s ,性别为:%s" % (name, age, sex, num))time.sleep(2)elif userinput in stulist:name = userdata[userinput]["name"]age = userdata[userinput]["age"]num = userdata[userinput]["num"]sex = userdata[userinput]["sex"]print("学员姓名是:%s ,年龄是:%s ,性别是:%s ,性别为:%s" % (name, age, sex, num))time.sleep(2)elif userinput not in stuNumlist:print("没有该学员")elif userinput not in stulist:print("没有该学员")

学员管理系统(完整版附带源码)相关推荐

  1. QT界面免费版开源图片转文字工具程序完整版附源码

    QT界面免费版开源图片转文字工具程序完整版附源码 需求源码的朋友请留言 操作步骤如下:

  2. 基于内容的图像检索系统设计与实现--颜色信息--纹理信息--形状信息--PHASH--SHFT特征点的综合检测项目,包含简易版与完整版的源码及数据!

    百度云提取源码以及数据包,直接下载压缩包解压就可以使用,数据就在压缩包文件dataset中. 简化版:只有-颜色信息–纹理信息–形状信息–PHASH–SHFT特征点的综合检测 [百度云链接,提取码:6 ...

  3. 手机威客php源码,最新威客众筹系统完整版PHP源码+支持支付宝和微信多种支付方式+PC+WAP+微信三端数据同步...

    源码介绍 本程序系PHP+MYSQL开发的众筹网站系统,2017年综合型众筹最新商业版:项目交易+融资平台,最火的kickstarter系统. 众筹即大众筹资或群众筹资,互联网众筹作为快速筹集资金渠道 ...

  4. 高仿糗事百科,完整版项目源码,带服务器部分

    源码作者声明:本源码只用于个人研究使用,不可用于商业用途,由于本源码引起的纠纷皆与作者无关. 本项目是本人在学校的时候准备出来实习的时候做的,由于代码有些粗糙迟迟没有发出来. 但今天无意间看到有人把源 ...

  5. 【181007】VC++黑白棋游戏完整版游戏源码

    C++开发的BWChess黑白棋游戏,界面差不多,功能挺多的, 编译界面如上所示,可以与电脑下棋也可以人与人对战,可以提醒,记录对战排行榜. 源码下载地址:点击下载 备用下载地址:点击下载

  6. 耗时一周时间,我构建了基于知识图谱的医生推荐系统(附完整版 Python 源码)

    大家好,今天给大家分享一个项目,主要实现了疾病自诊和医生推荐两个功能并构建了医生服务指标评价体系.疾病自诊主要通过利用 BERT+CRF+BiLSTM 的医疗实体识别, 建立医学知识图谱, 从而实现基 ...

  7. 新版付费测算完整版PHP源码 配置免签约码支付

    个人站长网赚必备  无成本运营 系统自动测算 新版测算源码 包含预测: 八字测算  姓名分析 姓名配对 综合详批 姻缘测算 爱情运 八字精批 八字合婚 紫微斗数 鼠年运程 月老姻缘 许愿点灯 号码解析 ...

  8. java超市进销存系统_Java超市进销存系统完整版JAVA源码下载

    Java超市进销存系统完整版 (3 folders, 4 files, 40.88 KB, 6.18 MB in total.) main_from.gif 724 bytes 软件说明.do ...

  9. 老男孩python 2018最新_2018最新老男孩全栈python第3期视频教程 完整版 附源码与笔记 | 52download...

    课程介绍: 一.Linux基础课程 深入浅出的带你全面认识互联网的基础构成,包括最重要的组成部分,计算机硬件和企业最常用的操作系统.让你知道信息在互联网上是如何传递的,企业应该如何管理计算机和操作系统 ...

  10. Python的23种设计模式(完整版带源码实例)

    作者:虚坏叔叔 博客:https://xuhss.com 早餐店不会开到晚上,想吃的人早就来了!

最新文章

  1. 精心安利8个良心好用的学习神器和办公神器
  2. ggThemeAssist:鼠标调整ggplot2主题,不用再记这些代码啦!
  3. tcp和udp多线程的epoll服务器+客户端源代码 - brucema的个人空间 - 开源中国社区
  4. asp.net 验证码
  5. 【云计算】_8云视频与通信服务(完结)
  6. HTML5开发都能干什么?从事哪些岗位?
  7. Maven学习-优化和重构POM
  8. Android之判断是否有网封装类
  9. 【转】Pro Android学习笔记(一):Android 平台 2013.6.4
  10. 硬件创新需要去理解的点(精炼总结)
  11. ZAM 3D 制作3D动画字幕 用于Xaml导出
  12. 钢铁企业的能耗管理现状和管理建议
  13. Origin绘图时出现Speed Mode is on水印解决方式
  14. Codeforces Round #469 (Div. 2) C. Zebras
  15. python绘制线段_使用matplotlib绘制线段线
  16. 1.图灵学院-----阿里/京东/滴滴/美团整理----高频JAVA并发篇
  17. 毕业季的你准备好面试了吗?(下)
  18. 王宝强代言计算机学校,《破晓屠龙》王宝强代言传奇游戏电脑手机都能玩
  19. 信阳发现多例蜱虫病病例
  20. 树莓派3B+安装wordpress

热门文章

  1. Vue3.x 深入浅出系列(连载三)
  2. 【Rust日报】 2019-08-05:用Rust重写物联网网关 Part 2: 饮鸩止渴:为什么我们不用C++重写IoT应用...
  3. 大宗商品交易平台支持多种交易模式,你了解多少?
  4. 用Matlab把SMAP vegetation optical depth (VOD)数据转换成带投影信息EASE GRID2的tif文件
  5. 【转】虚拟 IO 服务器(VIOS)和 IBM i
  6. excel数组公式中的意想不到的坑
  7. 【不仅仅是程序员】——公司的沉淀是什么(2)
  8. 测试了一周总结的模拟器玩刺激战场延迟卡顿完美解决办法
  9. 小米怎么快速回到顶部_拆解报告:小米小爱鼠标采用炬芯ATB110X蓝牙物联网方案 -...
  10. 简单线性回归R和Python预测身高体重国内生产总值二氧化碳排放量