python学员管理系统流程图_python员工管理系统

python学员管理系统流程图_python员工管理系统学员管理系统#初学者做的很差劲!!!!!defsystem_information():#打印菜单print(‘-‘*20)print(‘[1]添加学员’)print(‘[2]删除学员’)print(‘[3]修改学员信息’)print(‘[4]查询学员信息’)print(‘[5]显示所有学员信息’)print(‘[6]退出系统’)print(‘-‘*20)stu_list=[{‘name’:’TOM’,’ag

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

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

学员管理系统


#初学者做的很差劲!!!!!
def system_information():#打印菜单
    print('-' * 20)
    print('[1]添加学员')
    print('[2]删除学员')
    print('[3]修改学员信息')
    print('[4]查询学员信息')
    print('[5]显示所有学员信息')
    print('[6]退出系统')
    print('-'*20)

stu_list=[{ 
   'name': 'TOM', 'age': '18', 'gender': 'man'},{ 
   'name': 'test1', 'age': '19', 'gender': 'man'},{ 
   'name': 'ww', 'age': '19', 'gender': 'man'}]
#这个是学员列表,存储学员信息,可以为空,因为要调试所以就填了一些。
def stu_informaiton():
    """这个是用于增加学员信息时用的函数,其实不用单独出来一个函数也可以,只不过写都写了就懒得改了"""
    name = input('请输入学员名字:')
    age = input('请输入学员年龄:')
    gender = input('请输入学员性别:')
    return { 
   'name': name, 'age': age, 'gender':gender}


def stu_name():
    """ 这个是用于后来查找学员、修改学员信息、删除学员信息,输入学员名字。"""
    name=input('请输入学员名字:')
    return name


def add_stu(stu_info):
    """学员增加函数"""
    global stu_list #使用全局变量
    stu_list.append(stu_info)
    print(stu_list)
    #这边其实不用加print,为了调试的时候方便所以加上。

def whereis_stu(name):
    """通过输入的学员名字定位学员信息在列表的那个位置"""
    global stu_list
    for i in stu_list:
        if name==i['name']:
            return i

def remove_stu(name):
    """删除学员函数"""
    global stu_list
    whereis=whereis_stu(name)
    stu_list.remove(whereis)
    print(stu_list)
    #这边其实不用加print,为了调试的时候方便所以加上。
    
def change_stu(name):
    """修改学员信息的函数"""
    global stu_list
    whereis=whereis_stu(name)
    change_key=input('请输入修改的学员信息key[name|age|gender]:')
    change_value = input(f'请输入{ 
     change_key}修改后的学员信息:')
    whereis[change_key]=change_value

def exist_stu(name):
    """这个函数是用于通过输入的学员姓名判断学员信息的存在性"""
    # flag为0时无此学员,flag为1时有此学员
    global stu_list
    flag=0
    for i in stu_list:
        if name == i['name']:
            print(f'学员{ 
     name}存在')
            whereis=stu_list.index(i)
            print(f'{ 
     name}在学员列表第{ 
     whereis+1}个')
            flag=1
    return flag

def query_stu(name):
    """这个是通过学员姓名查询学员信息的函数"""
    if(exist_stu(name)==0):
        flag=0
        return flag
    else :
        flag = 1
        return flag

while 1:
    system_information()
    option=int(input('请输入您的选项:'))
    if option == 1:

        name = stu_name()
        if (query_stu(name) == 0):
            stu_info = stu_informaiton()
            add_stu(stu_info)

    elif option == 2:

        name = stu_name()
        if (query_stu(name) == 1):
            remove_stu(name)
            print(f'学员{ 
     name}已删除!')
        else:
            print(f'学员{ 
     name}不存在,无法删除!')

    elif option == 3:

        name = stu_name()
        if (query_stu(name) == 1):
            change_stu(name)
        else:
            print(f'学员{ 
     name}不存在,无法修改!')

    elif option == 4:

        name = stu_name()
        if (query_stu(name) == 0):
            print(f'学员{ 
     name}不存在!')

    elif option == 5:

        print(stu_list)

    elif option == 6:

        exit()
    else:
        print('输入的值错误!')
#这个代码其实还有很多可以优化的地方,比如通过增加字典的key-value去用id控制查找修改学员的信息。
#代码其实有点繁琐,可以用for循环的else和if语句去判断学员的存在性。因为存在与不存在可以for循环内通过if执行语句中去break,和else正常执行实现2个分支。不是if和else搭配,是for 和else的搭配。
#暂时就想到这么多,以后慢慢学再补充。

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

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

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


相关推荐

  • 工程师的基本功是什么?如何练习?—学习心得分享「建议收藏」

    开头聊几句1、周末休息,今天下雨了,气温还行,不冷不热2、刚看完《这!就是街舞》,很燃很炸,一些作品表达的东西也很让人感动3、发现真正热爱的事情,并为之付出所有的能量,很让人羡慕开头周四上线到比较晚,好在中间有空,去公司楼下湖边散了散步,上线回到家,已经是凌晨了。周五中午在去公司的路上看到了美团技术团队的一篇文章,觉得很不错,值得学习,也分享到朋友圈了,希望保留下方便自己查阅,也分享给更多的技术伙伴,一起看好的文章。在技术之路上,不断的持续学习,持续进步,一起精进。那天朋友圈分享美团的这

    2022年3月1日
    41
  • idea在类中搜索方法的快捷键_idea控制台搜索快捷键

    idea在类中搜索方法的快捷键_idea控制台搜索快捷键展开全部IntelliJIDEA代码常用的快捷键有:Alt+回车导入包,自动修正Ctrl+N查找类Ctrl+Shift+N查找文件Ctrl+Alt+L格式e69da5e887aa62616964757a686964616f31333365646234化代码Ctrl+Alt+O优化导入的类和包Alt+Insert生成代码(如get,set方法,构造函数等)Ctrl+E或者Alt+…

    2022年10月10日
    0
  • linux 软件脱壳机,关于UPX脱壳后程序无法运行

    linux 软件脱壳机,关于UPX脱壳后程序无法运行如何实现upx的脱壳(请详细说明步骤和软件)?upx关于脱壳的命令格式如下:upx-d要脱壳的文件如:UPX-d132.EXEpEID里有个通用脱壳机,可以试试而且手工找入口点也是很简单的找pushad对应的Popad,在popad旁的跳转命令就是跳到文件的原入口点了啊D壳UPX0.89.6-1.02/1.05-1.24(Delphi)stub->Marku…

    2022年7月13日
    18
  • Bluetooth flow control

    Bluetooth flow controlBaseband4.5.3FlowcontrolSincetheRXACLbuffercanbefullwhileanewpayloadarrives,flowcontrolisrequired.TheheaderfieldFLOWinthereturnTXpacketmayuseSTOPorGOinorderto…

    2022年6月5日
    27
  • Android 通过应用程序来设置系统的日期和时间中的

    Android 通过应用程序来设置系统的日期和时间中的

    2022年1月6日
    45
  • 服务降级的概念及应用手段

    服务降级的概念及应用手段什么是服务降级服务降级,就是对不怎么重要的服务进行低优先级的处理。说白了,就是尽可能的把系统资源让给优先级高的服务。资源有限,而请求是无限的。如果在并发高峰期,不做服务降级处理,一方面肯定会影响整体服务的性能,严重的话可能会导致宕机某些重要的服务不可用。所以,一般在高峰期,为了保证网站核心功能服务的可用性,都要对某些服务降级处理。服务降级手段拒绝服务判断应用来源,高峰时段拒

    2022年5月25日
    37

发表回复

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

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