【python】——使用嵌套列表实现游戏角色管理

🎃个人专栏:

🐬 算法设计与分析:算法设计与分析_IT闫的博客-CSDN博客

🐳Java基础:Java基础_IT闫的博客-CSDN博客

🐋c语言:c语言_IT闫的博客-CSDN博客

🐟MySQL:数据结构_IT闫的博客-CSDN博客

🐠数据结构:​​​​​​数据结构_IT闫的博客-CSDN博客

💎C++:C++_IT闫的博客-CSDN博客

🥽C51单片机:C51单片机(STC89C516)_IT闫的博客-CSDN博客

💻基于HTML5的网页设计及应用:基于HTML5的网页设计及应用_IT闫的博客-CSDN博客​​​​​​

🥏python:python_IT闫的博客-CSDN博客

欢迎收看,希望对大家有用!

学习推荐:

        在当今这个飞速发展的信息时代,人工智能(AI)已经成为了一个不可或缺的技术力量,它正在逐步改变着我们的生活、工作乃至整个社会的运作方式。从智能语音助手到自动驾驶汽车,从精准医疗到智慧城市,人工智能的应用已经渗透到了我们生活的方方面面。因此,学习和掌握人工智能相关的知识和技能,对于任何希望在这个时代保持竞争力的个人来说,都已经变得至关重要。

        然而,人工智能是一个涉及数学、计算机科学、数据科学、机器学习、神经网络等多个领域的交叉学科,其学习曲线相对陡峭,对初学者来说可能会有一定的挑战性。幸运的是,随着互联网教育资源的丰富,现在有大量优秀的在线平台和网站提供了丰富的人工智能学习材料,包括视频教程、互动课程、实战项目等,这些资源无疑为学习者打开了一扇通往人工智能世界的大门。

        前些天发现了一个巨牛的人工智能学习网站:前言 – 人工智能教程通俗易懂,风趣幽默,忍不住分享一下给大家。


目录

🎯分析:

🎯代码编写:

💛前言:

 💛输入判断:

💛查询角色:

💛添加角色:

💛修改角色:

💛删除角色:

💛总代码:

🎯转化为其他程序语言(由chatgpt完成):

🥏C语言:

💻Java语言:


🎯分析:

本案中,使用嵌套列表实现游戏角色管理,列表元素为字典,每个字典存储一个游戏角色。通过对列表元素(字典)的添加、修改、删除和查询等操作实现对游戏角色的管理。

🎯代码编写:

💛前言:

import sys
print('*' * 40)
print('-----------游戏角色管理-----------')
print('1.查询角色')
print('2.添加角色')
print('3.修改角色')
print('4.删除角色')
print('5.显示所有角色')
print('0.退出')

 💛输入判断:

# 角色列表
roleList = [{'姓名':'刘备','武力':7}]
while True:
    x = int(input("请输入您要进行的操作的数字:"))    # 读取数字
    if x in [1,2,3,4,5,0]:

💛查询角色:

if x == 1:    # 查询角色
    姓名 = input("请输入您要查找的姓名")
    for role in roleList:
        if 姓名 == role['姓名']:
            print("姓名:%s,武力:%d"%(role['姓名'],role['武力']))
            break
    else:
        print('抱歉,没有查询到该角色')

💛添加角色:

elif x == 2:    # 添加角色
    姓名 = input('请输入姓名:')
    for role in roleList:
        if 姓名 == role['姓名']:
            print('抱歉,该角色已存在,无法再次添加!')
            break
    else:
        武力 = int(input('请输入对应角色的武力:'))
        newrole = {}
        newrole['姓名'] = 姓名
        newrole['武力'] = 武力
        roleList.append(newrole)

💛修改角色:

elif x == 3:    #修改角色
    姓名 = input("请输入您要修改的姓名:")
    for role in roleList:
        if 姓名 == role['姓名']:
            武力 = int(input('请输入新武力:'))
            role['武力'] = 武力
            print('修改角色成功!')
            break
    else:
        print('该角色不存在!')

💛删除角色:

elif x == 4:
    姓名 = input("请输入您要删除的姓名")
    for role in roleList:
        if 姓名 == role['姓名']:
            roleList.remove(role)
            print('删除成功')
            break
    else:
        print("您要删除的人物不存在")

💛总代码:

import sys
print('*' * 40)
print('-----------游戏角色管理-----------')
print('1.查询角色')
print('2.添加角色')
print('3.修改角色')
print('4.删除角色')
print('5.显示所有角色')
print('0.退出')
# 角色列表
roleList = [{'姓名':'刘备','武力':7}]
while True:
    x = int(input("请输入您要进行的操作的数字:"))    # 读取数字
    if x in [1,2,3,4,5,0]:
        if x == 1:    # 查询角色
            姓名 = input("请输入您要查找的姓名")
            for role in roleList:
                if 姓名 == role['姓名']:
                    print("姓名:%s,武力:%d"%(role['姓名'],role['武力']))
                    break
            else:
                print('抱歉,没有查询到该角色')
        elif x == 2:    # 添加角色
            姓名 = input('请输入姓名:')
            for role in roleList:
                if 姓名 == role['姓名']:
                    print('抱歉,该角色已存在,无法再次添加!')
                    break
            else:
                武力 = int(input('请输入对应角色的武力:'))
                newrole = {}
                newrole['姓名'] = 姓名
                newrole['武力'] = 武力
                roleList.append(newrole)

        elif x == 3:    #修改角色
            姓名 = input("请输入您要修改的姓名:")
            for role in roleList:
                if 姓名 == role['姓名']:
                    武力 = int(input('请输入新武力:'))
                    role['武力'] = 武力
                    print('修改角色成功!')
                    break
            else:
                print('该角色不存在!')
        elif x == 4:
            姓名 = input("请输入您要删除的姓名")
            for role in roleList:
                if 姓名 == role['姓名']:
                    roleList.remove(role)
                    print('删除成功')
                    break
            else:
                print("您要删除的人物不存在")
        elif x == 5:
            for role in roleList:
                print("姓名:%s,武力:%d" % (role['姓名'], role['武力']))
        else:
            print("退出程序")
            sys.exit(0)
    else:
        print("输入错误,请重新输入!")

🎯转化为其他程序语言(由chatgpt完成):

🥏C语言:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

struct Role {
    char name[20];
    int power;
};

void printRole(struct Role role) {
    printf("姓名:%s,武力:%d\n", role.name, role.power);
}

int main() {
    printf("****************************************\n");
    printf("-----------游戏角色管理-----------\n");
    printf("1.查询角色\n");
    printf("2.添加角色\n");
    printf("3.修改角色\n");
    printf("4.删除角色\n");
    printf("5.显示所有角色\n");
    printf("0.退出\n");

    // 角色列表
    struct Role roleList[100];
    strcpy(roleList[0].name, "刘备");
    roleList[0].power = 7;
    int numRoles = 1;

    while (1) {
        int x;
        printf("请输入您要进行的操作的数字:");
        scanf("%d", &x);

        if (x == 1) {    // 查询角色
            char name[20];
            printf("请输入您要查找的姓名:");
            scanf("%s", name);

            int found = 0;
            for (int i = 0; i < numRoles; i++) {
                if (strcmp(name, roleList[i].name) == 0) {
                    printRole(roleList[i]);
                    found = 1;
                    break;
                }
            }
            if (!found) {
                printf("抱歉,没有查询到该角色\n");
            }

        } else if (x == 2) {    // 添加角色
            struct Role newRole;
            printf("请输入姓名:");
            scanf("%s", newRole.name);

            int found = 0;
            for (int i = 0; i < numRoles; i++) {
                if (strcmp(newRole.name, roleList[i].name) == 0) {
                    printf("抱歉,该角色已存在,无法再次添加!\n");
                    found = 1;
                    break;
                }
            }

            if (!found) {
                printf("请输入对应角色的武力:");
                scanf("%d", &newRole.power);
                roleList[numRoles] = newRole;
                numRoles++;
            }

        } else if (x == 3) {    // 修改角色
            char name[20];
            printf("请输入您要修改的姓名:");
            scanf("%s", name);

            int found = 0;
            for (int i = 0; i < numRoles; i++) {
                if (strcmp(name, roleList[i].name) == 0) {
                    printf("请输入新武力:");
                    scanf("%d", &roleList[i].power);
                    printf("修改角色成功!\n");
                    found = 1;
                    break;
                }
            }
            if (!found) {
                printf("该角色不存在!\n");
            }

        } else if (x == 4) {    // 删除角色
            char name[20];
            printf("请输入您要删除的姓名:");
            scanf("%s", name);

            int found = 0;
            for (int i = 0; i < numRoles; i++) {
                if (strcmp(name, roleList[i].name) == 0) {
                    for (int j = i; j < numRoles - 1; j++) {
                        roleList[j] = roleList[j + 1];
                    }
                    numRoles--;
                    printf("删除成功\n");
                    found = 1;
                    break;
                }
            }
            if (!found) {
                printf("您要删除的人物不存在\n");
            }

        } else if (x == 5) {    // 显示所有角色
            for (int i = 0; i < numRoles; i++) {
                printRole(roleList[i]);
            }

        } else if (x == 0) {    // 退出程序
            printf("退出程序\n");
            exit(0);

        } else {    // 输入错误
            printf("输入错误,请重新输入!\n");
        }
    }

    return 0;
}

💻Java语言:

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class GameRoleManagement {
    public static void main(String[] args) {
        System.out.println("****************************************");
        System.out.println("-----------游戏角色管理-----------");
        System.out.println("1.查询角色");
        System.out.println("2.添加角色");
        System.out.println("3.修改角色");
        System.out.println("4.删除角色");
        System.out.println("5.显示所有角色");
        System.out.println("0.退出");

        // 角色列表
        List<Role> roleList = new ArrayList<>();
        roleList.add(new Role("刘备", 7));

        Scanner scanner = new Scanner(System.in);

        while (true) {
            System.out.print("请输入您要进行的操作的数字:");
            int x = scanner.nextInt();

            if (x == 1) {    // 查询角色
                System.out.print("请输入您要查找的姓名:");
                String name = scanner.next();

                boolean found = false;
                for (Role role : roleList) {
                    if (name.equals(role.getName())) {
                        System.out.printf("姓名:%s, 武力:%d\n", role.getName(), role.getPower());
                        found = true;
                        break;
                    }
                }
                if (!found) {
                    System.out.println("抱歉,没有查询到该角色");
                }

            } else if (x == 2) {    // 添加角色
                System.out.print("请输入姓名:");
                String name = scanner.next();

                boolean found = false;
                for (Role role : roleList) {
                    if (name.equals(role.getName())) {
                        System.out.println("抱歉,该角色已存在,无法再次添加!");
                        found = true;
                        break;
                    }
                }

                if (!found) {
                    System.out.print("请输入对应角色的武力:");
                    int power = scanner.nextInt();
                    Role newRole = new Role(name, power);
                    roleList.add(newRole);
                }

            } else if (x == 3) {    // 修改角色
                System.out.print("请输入您要修改的姓名:");
                String name = scanner.next();

                boolean found = false;
                for (Role role : roleList) {
                    if (name.equals(role.getName())) {
                        System.out.print("请输入新武力:");
                        int power = scanner.nextInt();
                        role.setPower(power);
                        System.out.println("修改角色成功!");
                        found = true;
                        break;
                    }
                }
                if (!found) {
                    System.out.println("该角色不存在!");
                }

            } else if (x == 4) {    // 删除角色
                System.out.print("请输入您要删除的姓名:");
                String name = scanner.next();

                boolean found = false;
                for (Role role : roleList) {
                    if (name.equals(role.getName())) {
                        roleList.remove(role);
                        System.out.println("删除成功");
                        found = true;
                        break;
                    }
                }
                if (!found) {
                    System.out.println("您要删除的人物不存在");
                }

            } else if (x == 5) {    // 显示所有角色
                for (Role role : roleList) {
                    System.out.printf("姓名:%s, 武力:%d\n", role.getName(), role.getPower());
                }

            } else if (x == 0) {    // 退出程序
                System.out.println("退出程序");
                System.exit(0);

            } else {    // 输入错误
                System.out.println("输入错误,请重新输入!");
            }
        }
    }
}

class Role {
    private String name;
    private int power;

    public Role(String name, int power) {
        this.name = name;
        this.power = power;
    }

    public String getName() {
        return name;
    }

    public int getPower() {
        return power;
    }

    public void setPower(int power) {
        this.power = power;
    }
}

🥽 若有友友发现博主写的有问题,可以反馈到评论区,感谢!!!🎃

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Y小夜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值