代码执行不正确(额外文本)Discord.py

Incorrect code execution (extra text) Discord.py

代码执行的时候有点看不懂,不知道怎么描述,但是截图显示

代码:

symbols = "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"
@client.event
async def on_message(message):

    if message.content.startswith('Код'):
        await message.channel.send(random.choice(symbols) for x in range(6))

这里可以看到最后6个字符还是变了,但是我不明白怎么去掉不需要的

random.choice(symbols) for x in range(6) 是一个生成器对象:当你迭代它时,它会被延迟计算。

(random.choice(symbols) for x in range(6)) 也是一个生成器。如果您想在参数列表或类似列表中使用它,则需要括号。

[random.choice(symbols) for x in range(6)] 是一个列表。

list(random.choice(symbols) for x in range(6))也是。

tuple(random.choice(symbols) for x in range(6)) 是一个元组。

{random.choice(symbols) for x in range(6)}为一组。

如果你想要一个字符串,你需要将选择的字符连接成一个:

''.join(random.choice(symbols) for x in range(6))