python—如何在一个范围内迭代,然后将列表中的项目追加到该范围内?

kzipqqlq  于 2021-08-25  发布在  Java
关注(0)|答案(1)|浏览(245)

现在,在消息末尾添加React的for循环需要 number_of_responses ,这就是我想要的。但我也希望 e.add_field 可以根据添加的字段 number_of_responses (与右表情符号一起出现在 name 字段,然后从列表中添加项目 answers 对他们 value s) 。

async def run_script(params):
    params = params
    channel = client.get_channel(<obfuscated>)
    emoji_numbers = ["1️⃣", "2️⃣", "3️⃣", "4️⃣", "5️⃣", "6️⃣", "7️⃣", "8️⃣", "9️⃣"]
    question = params[0] # string
    answers = ast.literal_eval(params[1]) # list
    number_of_responses = len(answers) # int
    e = discord.Embed(title='Title', description='Desc.', color=discord.Color.blue())
    e.add_field(name=question, value='\u200b', inline=False)
    e.add_field(name='1️⃣', value='Mobiel', inline=False)
    e.add_field(name='2️⃣', value='Tablet', inline=False)
    e.add_field(name='3️⃣', value='Laptop', inline=False)
    e.add_field(name='4️⃣', value='Desktop', inline=False)
    e.add_field(name='5️⃣', value='TV', inline=False)
    message = await channel.send(embed=e)
    for i in range(number_of_responses):
        await message.add_reaction(emoji_numbers[i])
    for i in range(4, -1, -1):
        time.sleep(1)
    await channel.send("Going to sleep now")
    await client.close()
t5zmwmid

t5zmwmid1#

不需要在索引上循环。只是 zip 这个 answersemoji_numbers :

for emoji, answer in zip(emoji_numbers, answers):
    e.add_field(name=emoji, value=answer, inline=False)
    await message.add_reaction(emoji)

相关问题