Python--王者荣耀简易角色管理系统

王者荣耀简易角色管理系统:(完整代码在文章末尾)

 1.添加角色:

         选择“1”操作,添加角色的名称、性别和职业,添加完一个角色之后,“添加角色”系统模块就执行完毕,跳出该系统。如果需要继续添加则选择“1”操作。

        "添加角色"代码:

    if choice =='1':
        print('添加角色:')
        #添加角色:角色名,性别,职业
        #按q或者Q退出添加功能
        name = input('角色名:')
        sex = input('性别:')
        job = input('职业:')
        role = [name,sex,job]
        roles.append(role)
        print('成功添加{}到王者荣耀角色系统!\n'.format(name))

        “添加角色”运行结果:

 2.删除角色:

        选择“2”操作,输入要删除的角色名称,如果该角色存在则被删除,若角色不存在则无法删除,删除失败。

        "删除角色"代码:

    elif choice =='2':
        print('删除角色:')
        #删除角色
        if len(roles)!=0:#判断系统里面有角色才能进行删除
            dele_name = input('请输入要删除的角色名:')
            for role in roles:#循环遍历系统中的角色
                if dele_name in role:#如果要删除的元素在系统中
                    roles.remove(role)#则将其删除
                    print('成功删除角色:“{}”'.format(dele_name))
                    break
        else:#如果不存在,则无法删除该角色
            print('王者荣耀角色系统里已无{}角色,无法删除'.format(dele_name))

        ”删除角色“运行结果:

         删除前系统里有三个角色:

        删除典韦:

        


 3.修改角色:

        选择“3”操作,输入要修改角色的名称以及修改之后的名称,若该角色存在于系统之中,则修改成功,若不存在于系统之中,则修改失败。

        "修改角色"代码:

    elif choice =='3':#修改角色
        print('修改角色:')
        if len(roles)!=0:#判断系统里面有角色才能进行修改
            modify_ago = input('请输入您要修改的角色名称:')
            modify_now = input('请输入您修改后的名称:')
            for role in roles:#循环遍历系统中的角色
                if modify_ago in role:#判断要修改的角色名是否在系统里面
                    role[0] = modify_now#修改姓名
                    print('您已将{}修改为{}'.format(modify_ago,modify_now))

        else:
            print('王者荣耀角色系统里无{}角色'.format(modify_ago))

        ”修改角色“运行结果:

        修改”小乔“之前:

        

        将”小乔“修改为”妲己“:

        


 4.查询角色:

        选择“4”操作,若查询的角色名称存在于系统之中,则将显示该角色的信息,若不存在则查询失败。

        "查询角色"代码:

   elif choice =='4':
        print('查询角色:')
        #查询某个角色
        search = input('请输入要查询的角色名称:')
        for role in roles:#循环遍历系统中的角色
            if search in role:#判断要查询的角色名是否在系统里面
                print('王者荣耀管理系统存在{}角色'.format(search))
                break
        else:#for...else结构
            print('王者荣耀管理系统不存在{}角色'.format(search))

(这里用了for...else结构,与c语言不同的是c只能是if...else。)

        此处还有一种方法可以实现:即定义一个”开关“去控制

        

        代码如下:

search = input('请输入要查询的角色名称:')
flag = False  # 添加一个标志来指示是否找到匹配的角色

for role in roles:
    if search in role:
        flag = True
        print('王者荣耀管理系统存在{}角色'.format(search))
        break

if not flag :
    print('王者荣耀管理系统不存在{}角色'.format(search))

千万要注意以下写法是错的!!!

        search = input('请输入要查询的角色名称:')
        for role in roles:
            if search in role:
                print('王者荣耀管理系统存在{}角色'.format(search))
                break
            else:
                print('王者荣耀管理系统不存在{}角色'.format(search))

那么这么写为什么错了呢???

错误的原因:

有一个小问题在于,如果在第一次循环中没有找到匹配的角色,就会执行else语句,输出"王者荣耀管理系统不存在{}角色"。然而,这可能是因为在后续的循环中找到了匹配的角色。你可能希望等待整个循环结束后再确定是否存在匹配的角色。因此要使用for...else,只有在整个循环结束后都没有找到匹配的角色时,才会输出"不存在{}角色"的消息。

既然谈到了for...else,那么就来了解(回顾)一下:

for...else格式:

for 变量 in 序列:
    重复执行的代码
    ...
    ...
else:
    循环正常结束后要执行的代码

        简而言之就是:先遍历一遭,如果我们找到了,就用break跳出循环。如果没找到就执行else后面的内容。除了有for...else,while也可以和else使用,即:while..else。(详细请在www.baidu.com上search以下)

”查询角色“运行结果:

        系统中所有的角色:

        

        如果查询的角色在系统之中:

        

        如果查询的角色不在系统之中:

        


 5.显示所有角色:

        选择“5”操作,则显示你目前系统中存在的所有角色信息。

        "显示所有角色"代码:

    elif choice =='5':
        print('显示所有角色:')
        print('{}{}{}'.format('名称'.center(10),'性别'.center(10),'职业'.center(10)))
        for role in roles:#循环遍历系统中的角色
            print(role[0].center(10), end='')
            print(role[1].center(10), end='')
            print(role[2].center(10), end='')
            print()#消除前面的print语句一直在同一行输出,使其后面的输出在下一行

        ”显示所有角色“运行结果:

        


 6.退出系统:

        选择“6”操作,退出系统(退出时有响应时间)。

        "退出系统"代码:

    elif choice == '6':
        print('正在退出王者荣耀角色管理系统~~~~')
        print('您已退出王者荣耀角色管理系统')
        time.sleep(3)#线程暂停执行,指定秒数
        break

    else:
        print('输入错误,重新选择')

        ”退出系统“运行结果:

        

 7.完整代码:

import time
roles = []
print('~~~~~~~~~~欢迎进入王者荣耀角色管理系统~~~~~~~~~~~')
while True:
    print(' 1.添加角色\n 2.删除角色\n 3.修改角色\n 4.查询角色\n 5.显示所有角色\n 6.退出系统')
    choice = input(' 请您选择功能:\n')
    #判断选择
    if choice =='1':
        print('添加角色:')
        #添加角色:角色名,性别,职业
        #按q或者Q退出添加功能
        name = input('角色名:')
        sex = input('性别:')
        job = input('职业:')
        role = [name,sex,job]
        roles.append(role)#将角色、性别、职业添加到定义的roles里面
        print('成功添加{}到王者荣耀角色系统!\n'.format(name))

    elif choice =='2':
        print('删除角色:')
        #删除角色
        if len(roles)!=0:#判断系统里面有角色才能进行删除
            dele_name = input('请输入要删除的角色名:')
            for role in roles:#循环遍历系统中的角色
                if dele_name in role:#如果要删除的元素在系统中
                    roles.remove(role)#则将其删除
                    print('成功删除角色:“{}”'.format(dele_name))
                    break
        else:#如果不存在,则无法删除该角色
            print('王者荣耀角色系统里已无{}角色,无法删除'.format(dele_name))

    elif choice =='3':#修改角色
        print('修改角色:')
        if len(roles)!=0:#判断系统里面有角色才能进行修改
            modify_ago = input('请输入您要修改的角色名称:')
            modify_now = input('请输入您修改后的名称:')
            for role in roles:#循环遍历系统中的角色
                if modify_ago in role:#判断要修改的角色名是否在系统里面
                    role[0] = modify_now#修改姓名
                    print('您已将{}修改为{}'.format(modify_ago,modify_now))

        else:
            print('王者荣耀角色系统里无{}角色'.format(modify_ago))

    elif choice =='4':
        print('查询角色:')
        #查询某个角色
        search = input('请输入要查询的角色名称:')
        for role in roles:#循环遍历系统中的角色
            if search in role:#判断要查询的角色名是否在系统里面
                print('王者荣耀管理系统存在{}角色'.format(search))
                break
        else:#for...else结构
            print('王者荣耀管理系统不存在{}角色'.format(search))

    elif choice =='5':
        print('显示所有角色:')
        print('{}{}{}'.format('名称'.center(10),'性别'.center(10),'职业'.center(10)))
        for role in roles:#循环遍历系统中的角色
            print(role[0].center(10), end='')
            print(role[1].center(10), end='')
            print(role[2].center(10), end='')
            print()#消除前面的print语句一直在同一行输出,使其后面的输出在下一行

    elif choice == '6':
        print('正在退出王者荣耀角色管理系统~~~~')
        print('您已退出王者荣耀角色管理系统')
        time.sleep(3)#线程暂停执行,指定秒数
        break

    else:
        print('输入错误,重新选择')

运行界面:

实质上,这就是一个Python简易版的增删改查系统,这个系统很简单,删除、修改、查询都是根据姓名来进行操作的,可以后续自己增加根据性别、职业来进行删除、修改、查询。也可以整一个”Yes“ or ”No“来让操作者选择是否要进行这些操作。

  • 13
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值