我有一个包含一些规则的 json 文件。这是一个例子:
[
{
"triggers": ["hello", "hey", "hi"],
"replies": [
{
"reply": "Hey there"
},
{
"reply": "Hola"
},
{
"reply": "Hello World"
}
]
},
{
"triggers": ["who are you", "your name"],
"replies": [
{
"reply": "some name"
},
{
"reply": "lorem ipsum"
}
]
}
]
我想要实现的是,如果用户查询文本,让我们说“你好”,我希望脚本搜索 json 文件并查看查询是否存在于任何trigger
数组中。如果它存在,那么我希望脚本从数组中随机 选择一个。reply
replies
我可以:
我不能:
我什么都试过了。如果可以,请帮助我。感谢您的帮助。
我们可以使用random.choice(...)
从序列中选择一个随机元素。请注意,如果序列为空,它将引发错误。假设s
是您的字典列表:
import random
def reply(greet):
for e in s:
if greet in e["triggers"]:
return random.choice(e["replies"])["reply"]
return ""
>>> reply("hey")
'Hey there'
>>> reply("hey")
'Hey there'
>>> reply("hey")
'Hello World'
>>> reply("hey")
'Hello World'
>>> reply("hey")
'Hola'
>>> reply("who are you")
'lorem ipsum'
>>> reply("who are you")
'some name'
>>> reply("not exist")
''
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句