如何让Nao计算出人类的答案?

时间:2017-10-07 09:22:28

标签: python nao-robot

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

实现:问题和答案变体在编排对话框中实现,但我无法理解如何从Dialog中的Python脚本调用变量。

我在Dialog(QiChat)中调用计算变量,如下所示:

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

但是在这种情况下如何做到这一点,QiChat和nao应该理解变量的值会说变量的值?

这个例子不能说,在对话期间它会丢失。

%script
print p
%script

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

$cnt = %script p %script

1 个答案:

答案 0 :(得分:0)

这是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在服务中运行;该示例中也包含该模板)