【问题标题】:How to make that Nao calculates human answers?如何让 Nao 计算人类的答案?
【发布时间】:2017-10-07 09:22:27
【问题描述】:

任务:计划让 Nao 向人类提出一些问题并给出答案变体。人们应该每个问题给出一个答案变体,但在每五个问题之后,Nao 应该说:好的,你回答了 5 个问题并给出了 3 个正确和 2 个错误的答案。请再试一次。

实现:问题和答案变体在编排对话框中实现,但我不明白如何在对话框中从 Python 脚本调用变量。

我在 Dialog (QiChat) 中这样调用计算变量:

topic: ~addition() 
language: enu 
u:([c]) Yes, it's the correct answer. 
%script 
p=+1 
%script

但是在这种情况下,QiChat应该理解变量的值,而nao会说出变量的值?

这个例子 nao 不能说,在对话过程中会丢失。

%script
print p
%script

这种连接对话框和 python 脚本的方法不起作用:

$cnt = %script p %script

【问题讨论】:

  • 嗨!欢迎来到 stackOverflow!您可能已经注意到,您的问题完全不可读。您需要添加段落(空行)来逻辑地构造您的文本,并且您需要对代码使用代码格式。删除所有不必要的短语(例如“请帮助”和“谢谢”),因为这些只会分散问题的注意力。
  • 这听起来像是一项功课。这里没有人喜欢解决别人的作业。
  • 谢谢,我添加了格式。在没有任何任务解释的情况下提出问题是个坏主意

标签: python nao-robot


【解决方案1】:

这里是a dialog-service template,它的对话框链接到一些python代码;请参阅in the .top file 了解如何调用 Python 或从中获取信息:

u:(set {the} counter [to at] _~numbers)
    setting counter to $1
    ^call(ALMyService.set($1))

u:(["check counter" "what is the counter?"])
    So, ^call(ALMyService.get())
        c1:(_*) the counter is $1 

(假设您的 Python 正在服务中运行;该模板中还包含一个示例)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-14
    • 2014-06-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多