Python 将字符串分隔为不同的参数(不知道如何使用此lol)

Python 将字符串分隔为不同的参数(不知道如何使用此lol),python,python-3.x,discord,discord.py,Python,Python 3.x,Discord,Discord.py,因此,我正在开发一个discord机器人,它看起来像这样: !修改[2,2,2,2,2,2,2,2,2,2,2,2,2][3,2,2,2,2,2,2,2,2,2,2,4,2]…(依此类推,接受尽可能多的字符串) 这将使bot输出[6,4,4,4,4,4,4,4,4,4,4,4,8,4](因此bot获取两个字符串并将其中的数字相乘 我遇到的问题是,我一直在试图弄清楚如何让机器人识别出在']'处分离参数 另外,我如何让机器人将字符串中的数字相乘 当前代码: @client.command() asy

因此,我正在开发一个discord机器人,它看起来像这样: !修改[2,2,2,2,2,2,2,2,2,2,2,2,2][3,2,2,2,2,2,2,2,2,2,2,4,2]…(依此类推,接受尽可能多的字符串)

这将使bot输出[6,4,4,4,4,4,4,4,4,4,4,4,8,4](因此bot获取两个字符串并将其中的数字相乘

我遇到的问题是,我一直在试图弄清楚如何让机器人识别出在']'处分离参数

另外,我如何让机器人将字符串中的数字相乘

当前代码:

@client.command()
async def modify(ctx, *, arg1=None):
  if ctx.channel.id != 850806578125864981:
    return 
  else:
    #bruh
我的大脑被炸了

给你:

@client.command()
async def modify(ctx, *args):
    if ctx.channel.id != 850806578125864981:
        return
    else:
        sets = [] # stocking every sets found
        subset = [] #I call a 'set' a pair of brackets

        for arg in args:
            if arg == 'g.basic': # append the set you wanted
                sets.append([18.25, 1.4, .1, 1, 2, .2, 1, 4.5, 1, 1, 1, 15, 1])
                continue # go directly to the next iteration without finishing the loop

            subset.append(float(''.join([car for car in arg if car.isnumeric() or car == '.']))) # just extracting the numerical part of the element
            if ']' in arg: #closing a set
                sets.append(subset)
                subset = [] # creating a new one

        output = [*sets[0]] # number of the first set

        for s in sets[1:]: # looping over every other sets
            for i in range(len(s)):
                output[i] *= s[i] # multiplying the numbers together

        await ctx.send(f'{output}')

我发表了一些评论来解释我的答案,但如果你有任何问题,请问我

我认为我承担了一个超出我技能水平的项目。Lol参数是如何传递到函数的?我不熟悉discord,但其余逻辑似乎很直截了当。请记住,至少和最多都有13个数字(也可以是小数)在每对[]sA中,我遇到的问题是机器人试图将“[2.5]”、“[6]”、“[2”或“3]”和“4]”相乘,这显然会在每对[]中输出一个错误包含相同数量的?Poggers!谢谢!不过有一个小问题,在其中一位输入小数会导致答案混乱。例如:!修改[2.5,2,2,2,2,2,2,2,2,2,2,2,2][3,2,2,2,2,2,2,2,2,2,2,2,2,4,4,4,4,8,4]将输出[75,4,4,4]是的,你是对的,我忘记了小数,但我编辑了它,它应该被修复;)编辑:不,不,等一下,我正在发射它,现在它被修复了,很抱歉我太愚蠢了,谢谢你了!你一点也不笨,哈哈。我现在要研究你的代码,看看你做了什么,这些信息可能对我以后编码有帮助:)我正在解决leetcode的问题以进行改进,我认为只要看一下我的代码就可以得到回报。我在想,我不可能像2个月前那样做到这一点,如果你想尝试它,这对改进是非常好的。它是免费的