代码执行不正确(额外文本)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))
代码执行的时候有点看不懂,不知道怎么描述,但是截图显示
代码:
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))