<p>首先创建一个<code>dict</code>对象,其键是<code>tuple</code>字符串,您希望在<code>message</code>中匹配该字符串,并将其与Jarvis应该响应的值<code>string</code>相关联。例如:</p>
<pre><code>jarvis_dict = {
('goodbye',) : ['Goodbye Sir', 'Jarvis powering off in 3, 2, 1, 0'],
('hello',
'hi') : ['Wellcome to Jarvis virtual intelligence project. At your service sir.'],
('thanks',
'tanks',
'thank you') : ['You are wellcome', 'no problem'],
('jarvis',) : ['Yes Sir?', 'What can I doo for you sir?'],
('how are you',
'and you',
'are you okay'): ['Fine thank you'],
('*',) : ['Be polite please'],
('your name',): ['My name is Jarvis, at your service sir']
}
</code></pre>
<p>现在迭代每个键<code>dict</code>,检查是否有任何子字符串是消息的一部分,如果有匹配项,则调用<code>speekmodule.speek(rand,n,mixer)</code>函数,如下所示:</p>
<pre><code>for key, value in jarvis_dict.items():
if any(item in message for item in key):
speekmodule.speek(value, n, mixer)
</code></pre>
<p><em>注意:</em>这里我假设代码中的<code>speekmodule.speek(value, n, mixer)</code>正在工作,因为您的代码中没有关于这些声明的可用信息。我刚刚用<code>value</code>替换了您的<code>rand</code>,因为它与代码中使用的<code>dict</code>返回的<code>str</code>列表相同。你知道吗</p>