我试图运行一个代表树的prolog程序但是当我从菜单中选择选项1时显示我是假的。
代码:
答案 0 :(得分:1)
您的代码中存在两个问题:
opciones(X):-
(
(X = 1) ->
escribe("Escriba el nombre de la persona cuyo padre es que se encuentran:"),nl,
read(X),
escribe("Padre "),
escribe(X),
escribe(" es:"),nl,
father(Z,X),
escribe(Z),nl,
pausa;
当您致电opciones(1)
时,X
绑定到1
,因此read(X)
不会将X绑定到用户输入但检查如果用户输入等于1
。这是第一个问题。第二个问题是read/1
读取原子而escribe/1
需要列表或字符代码。您可以使用atom_codes/2
来处理它。