【问题标题】:Can i create a dictionary to pull commands from?我可以创建一个字典来从中提取命令吗?
【发布时间】:2020-07-04 10:24:00
【问题描述】:

如果我想像我说的那样得到回应 “你好” 并得到一个随机响应作为回报(来自下面的代码) 我将如何根据我所说的来完成这项工作 就像我要说“什么名字”并希望从名单中得到回应 我可以用字典来完成吗?

import random 

responseHello = [
"Hi!",
"Hello!",
"How can i help you?",
]
responseDict = {
                "hello" : "responseHello"
                }

h = input("say Hello:")
if h = responseDict["hello"]
 print(responseHello)

如此处所示(我知道下半部分肯定不对,我只是尝试过) 我必须做什么才能让我的输入引起不同的反应? 很抱歉,如果这没有意义,我今天才知道字典命令并试图弄清楚。任何帮助是极大的赞赏! (我知道我应该尝试遵循一些聊天机器人教程,但每次我做 tensorflow 时根本不起作用)

【问题讨论】:

  • 将列表本身用作字典值,​​然后直接使用查找结果 - 因为那将是您想要的列表。要从列表中随机选择,请使用适当命名的 random.choice

标签: python chatbot


【解决方案1】:

如下更改 if 语句,它应该可以工作。

import random

if h in resoponseDict:
  print(random.choice(responseHello))

编辑:获取随机元素以响应 Hello

【讨论】:

    【解决方案2】:
    import random 
    
    responseHello = [
    "Hi!",
    "Hello!",
    "How can i help you?",
    ]
    responseDict = {
            "hello" : "responseHello"
            }
    
    h = input("say Hello:")
    if h in responseDict:
        n = random.randint(0,2)
        print(responseHello[n])
    

    这会起作用^

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-24
      • 1970-01-01
      • 1970-01-01
      • 2014-06-17
      相关资源
      最近更新 更多