我正在从头开始编写一个不和谐的机器人,我希望相同的输出来自不同的输入。对我来说有意义的代码应该是
import random
list = ['msg1', 'msg2', 'msg3']
if message.content == ['random message', 'message random']:
response = random.choice(list)
await message.channel.send(response)这两个输入,无论是“随机消息”还是“消息随机”,都应该可以从列表中获取随机项,但此代码不起作用。我在网上没有找到任何关于这方面的其他文档,可能是因为它很明显。谁能解释一下正确的代码是什么?
-nt
发布于 2020-05-09 01:57:51
message.content == ['random message', 'message random']测试message.content是否与该列表完全相同,包括order。你想要的是in operator。
if message.content in ['random message', 'message random']如果消息是"random message"或"message random",就会出现这种情况。一种更快的实现方式是将可能的消息列表转换为集合。对于两条消息,这不会有什么不同,但对于较长的列表,在一个集合中测试成员资格会更快。
if message.content in {'random message', 'message random'}https://stackoverflow.com/questions/61685139
复制相似问题