在Prolog中,可以使用read/1
和write/1
来实现用户输入和输出。下面是一个示例代码,演示如何在Prolog中输出用户输入的知识库答案:
% 定义规则
likes(john, pizza).
likes(john, sushi).
likes(mary, sushi).
likes(mary, chocolate).
% 用户输入查询
ask_user(Query) :-
write('请输入查询:'),
read(Query).
% 查询知识库答案
query_answer(Query) :-
likes(Person, Query),
write(Person), write(' 喜欢 '), write(Query), nl,
fail. % 继续查询其他答案
query_answer(_).
% 主程序
main :-
ask_user(Query),
query_answer(Query),
main. % 继续查询
% 运行主程序
:- initialization(main).
运行以上代码后,程序会要求用户输入查询,用户可以输入pizza
、sushi
、chocolate
等查询不同的答案。程序会输出所有符合查询条件的答案,例如:
请输入查询:pizza.
john 喜欢 pizza
请输入查询:sushi.
john 喜欢 sushi
mary 喜欢 sushi
请输入查询:chocolate.
mary 喜欢 chocolate
请输入查询:quit.
在这个例子中,我们定义了一个简单的知识库,表示某些人喜欢某些食物。用户可以输入不同的食物名称来查询喜欢该食物的人。程序会输出所有符合查询条件的答案。
请注意,这只是一个简单的示例,实际应用中可能需要更复杂的知识库和查询规则。同时,腾讯云并没有与Prolog相关的产品或服务,因此无法提供相关链接。
领取专属 10元无门槛券
手把手带您无忧上云