任务:计划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
答案 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在服务中运行;该示例中也包含该模板)