如何检查一个句子中是否出现多个单词?
How can I check if multiple words appear in a sentence?
我似乎无法找到为什么这不起作用的解决方案
这是代码行:
if ("yeah" or "yes") in message.content:
await message.channel.send("yep")
else:
await message.channel.send("nope")
我试过使用任何一个单词列表,但它也没有用
我的意思是,如果句子中出现“是”或“是”(或更多)中的任何一个词,那么机器人必须发送“是”,否则它应该说“不”
您可以使用 in
和 any
的组合来检查多个值。它实质上创建了一个布尔值列表,然后检查它们是否为真(即消息中存在一个词)。
if any(x in message.content for x in ["yeah", "yes"]):
# send "yep"
else:
# send "nope"
此解决方案基于 this answer
我似乎无法找到为什么这不起作用的解决方案 这是代码行:
if ("yeah" or "yes") in message.content:
await message.channel.send("yep")
else:
await message.channel.send("nope")
我试过使用任何一个单词列表,但它也没有用
我的意思是,如果句子中出现“是”或“是”(或更多)中的任何一个词,那么机器人必须发送“是”,否则它应该说“不”
您可以使用 in
和 any
的组合来检查多个值。它实质上创建了一个布尔值列表,然后检查它们是否为真(即消息中存在一个词)。
if any(x in message.content for x in ["yeah", "yes"]):
# send "yep"
else:
# send "nope"
此解决方案基于 this answer