命令'random.choice(list)'没有给出任何输出[关闭]
Posted
技术标签:
【中文标题】命令\'random.choice(list)\'没有给出任何输出[关闭]【英文标题】:The command 'random.choice(list)' doesn't give any output [closed]命令'random.choice(list)'没有给出任何输出[关闭] 【发布时间】:2021-12-24 20:31:15 【问题描述】:我一直致力于使用 python 制作一个不和谐的机器人。
我输入了random.choice
以从列表flirt 中获取消息。此外,该函数需要读取列表中的特定单词sad,然后响应flirt。
这是我的python代码:
async def on_message(message):
if message.author == client.user:
return
for word in sad:
if word in message.content:
response = random.choice(flirt)
await message.reply(response)
break
两个列表示例:
sad = ["sad", "depressed", "lonely", "miserable"]
flirt = ["Baby I will be the broom that sweeps all the sadness in your heart.", "If a star would cure sadness, your heart would be empty of sadness."]
【问题讨论】:
奇怪。 1/random.choice
不起作用是什么意思?脚本挂了吗?函数什么都不返回吗?还是一个空字符串?等 2/ 你确定random.choice
被调用了吗?通话中的flirt
是您定义的那个?等你可以通过定义自己的random_choice
函数进行测试,并在其中登录random.choice
返回的参数和值
嘿,1. 脚本没有挂起 2. 函数不返回任何内容 3. 调用了 random.choice 并且也导入了库 仍然没有任何反应
【参考方案1】:
在on_message()
之前有@client.event
吗?
@client.event
async def on_message(message):
...
这是我唯一改变的东西,你的代码完美无缺。
您可能还想添加 lower()
来捕捉不是小写的单词(例如 SAD):
for word in sad:
if word in message.content.lower():
【讨论】:
在此之前我使用过@client.event
,而我是向机器人提供输入只是为了检查的人,所以所有内容都是手动小写的。
那么它应该可以正常工作。您是否收到任何错误或根本没有任何输出?
没有错误,我也没有得到任何输出。我不知道这里有什么问题
也许检查您的on_message
是否与print("test")
一起工作。
好的,我试试。以上是关于命令'random.choice(list)'没有给出任何输出[关闭]的主要内容,如果未能解决你的问题,请参考以下文章
Python 中的 numpy.random.choice()
嵌入 discord.py 中的 Random.choice 不起作用