所以我最近一直在使用clipspy开发一个专家系统。我已经拿出了规则文件,并使用clipspy将其加载回。我的一些问题是,如何使用clipspy库提取规则文件中的打印输出内容,因为我必须为系统制作一个简单的GUI。GUI就像弹出问题并提示用户填写答案,直到系统结束
示例规则文件:
(defrule BR_Service
(service BR)
=>
(printout t crlf "Would you like to book or return a car? ("B" for book / "R" for return)" crlf)
(assert (br (upcase(read))))
)
(defrule Book_Service
(br B)
=>
(printout t crlf "Are you a first-time user? (Y/N)" crlf)
(assert (b (upcase(read))))
)
(defrule Premium_Member
(b N)
=>
(printout t crlf "Are you a Premium status member? (Y/N)" crlf)
(assert (p (upcase(read))))
)
带有clipspy的Python脚本:
import clips
env = clips.Environment()
rule_file = 'rule_file.CLP'
env.load(rule_file)
print("What kind of service needed? ('BR' for book/return car / 'EM' for emergency)")
input = input()
env.assert_string("(service {})".format(input))
env.run()
将图形用户界面与
CLIPSPy
集成的最简单方法可能是将GUI逻辑包装在临时回调函数中,并通过define_function环境方法将它们导入CLIPS
在下面的示例中,我们使用PySimpleGUI绘制问题框并收集用户的输入。问答逻辑在
polar_question
函数中定义,并在CLIPS
中作为polar-question
导入。然后可以在CLIPS
代码中使用此函数相关问题 更多 >
编程相关推荐