学员管理系统(完整版附带源码)

学员管理系统(完整版附带源码)学员管理系统是刚接触python时算是一个比较难的小项目,毕竟第一次接触这样的思维逻辑,不过用心学起来还是很有趣的,发现乐在其中,也就不觉得难了。下面给大家分享一下学员管理系统较为完整的代码1.主程序importsys,datetimestulist=[]stuNumlist=[]userdata={}whileTrue:userInput=showmenu()ifuserInput==”1″:addStu().

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

学员管理系统是刚接触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("此学生已存在!请重新输入。")
            continue
        if len(user_name) == 0:
            print("学员姓名不能为空!")
        if user_name == "q":
            break
        user_age = input("请输入学员年龄:").strip()
        if int(user_age) < 0 or int(user_age) > 100:
            print("错误的年龄!")
            continue
        user_num = input("请输入学员学号:").strip()
        if user_num in stuNumlist:
            print("重复的学号!")
            continue
        user_sex = input("请输入学员性别[f|m]:").strip().lower()
        if user_sex != "f" and user_sex != "m":
            print("错误的性别!")
            continue
        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

4.删除学员

def delStu():
    while True:
        num = 1
        for neer in stulist:
            print(num,neer)
            num += 1
        userinput = input("请选择要删除的学员编号,返回请按y,退出请按b:").strip().lower()
        if userinput == "y":
            break
        elif 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 = 1
        for neer in stulist:
            print(num, neer)
            num += 1
        userinput = input("请选择要修改的学员编号,返回请按y,退出请按b:").strip().lower()
        if userinput == "y":
            break
        elif userinput == "b":
            sys.exit()
        elif stulist[int(userinput) - 1] in stulist:
            user_name = input("请输入学员姓名:").strip().lower()
            if user_name in stulist:
                print("此学生已存在!请重新输入。")
                continue
            if len(user_name) == 0:
                print("学员姓名不能为空!")
            user_age = input("请输入学员年龄:").strip()
            if int(user_age) < 0 or int(user_age) > 100:
                print("错误的年龄!")
                continue
            user_num = input("请输入学员学号:").strip()
            if user_num in stuNumlist:
                print("重复的学号!")
                continue
            user_sex = input("请输入学员性别[f|m]:").strip().lower()
            if user_sex != "f" and user_sex != "m":
                print("错误的性别!")
                continue
            del 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("没有该学员")

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/192612.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 运行时异常和非运行时异常(一般异常)的区别

    运行时异常和非运行时异常(一般异常)的区别一,异常的概念Java异常类层次结构图:Throwable:有两个重要的子类:Exception(异常)和Error(错误),二者都是Java异常处理的重要子类,各自都包含大量子类。Error(错误):是程序无法处理的错误,表示运行应用程序中较严重问题。大多数错误与代码编写者执行的操作无关,而表示代码运行时JVM(Java虚拟机)出现的问题。例如,Java虚拟机运行错误(V…

    2022年9月26日
    0
  • ORACLE创建用户 管理用户常用语句

    ORACLE创建用户 管理用户常用语句创建用户的过程1创建用户Createuser用户名identifiedby密码;(如果是数字则要加双引号”111111”,如果是字母就不用)2授权给某个用户Grantconnect,resourceto用户名;(只有用户有了connect和resource后才能操作其他表)3授DBA权限Grantdbato用户名;

    2022年5月19日
    38
  • hostapd移植「建议收藏」

    hostapd移植「建议收藏」内核版本:linux-2.6.39开发板平台:at91sam9x35wifi模块:rt3070 先说一下wifi的两种常见的模式。AP模式:AccessPoint,提供无线接入服务,允许其它无线设备接入,提供数据访问,一般的无线路由/网桥工作在该模式下。AP和AP之间允许相互连接。Station模式:类似于无线终端,station本身并不接受无线的接入,它可以连接到AP

    2022年5月11日
    45
  • AlertDialog的六种创建方式

    AlertDialog的六种创建方式AlertDialog 的六种创建方式 nbsp AlertDialog 的六种创建方式创建 AlertDialog 的步骤 1 创建 AlertDialog Builder 对象 2 调用 Builder 对象的 setTitle 方法设置标题 setIcon 方法设置图标 3 调用 Builder 相关方法如 setMessage 方法 setItems 方法 setSingleCho 方法 setMultiCh

    2025年6月7日
    0
  • 软件测试等价类划分实例_软件测试原则

    软件测试等价类划分实例_软件测试原则等价类的设计思路:根据输入条件,确定等价类,包括有效等价类和无效等价类,建立等价类列表为每个等价类规定一个唯一的编号设计一个测试用例,使其尽可能多地覆盖尚未被覆盖的有效等价类,重复这一步,直到所有的有效等价类被覆盖完为止设计一个测试用例,使其尽可能多的覆盖尚未被覆盖的无效等价类,重复这一步,直到所有的无效等价类被覆盖完为止1、三角形–等价类测试的例子某程序规定:"输入三个整数 a 、 b 、 c…

    2022年8月31日
    3
  • 【CAS】CAS原理「建议收藏」

    【CAS】CAS原理「建议收藏」CAS是所有原子类的底层原理,乐观锁主要采用CAS算法。CAS,比较并交换,是==JDK提供的非阻塞原子性操作,通过硬件保证比较-更新操作的原子性。==通常结合volatile保证共享变量的原子性。

    2022年10月16日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号