gpt4 book ai didi

prolog - 语法错误 : Operator expected

转载 作者:行者123 更新时间:2023-12-04 06:37:57 25 4
gpt4 key购买 nike

我的 Prolog 程序有问题..它似乎有错误,但我不知道它是什么..有人可以告诉我如何解决它吗???
错误从“症状”行开始
这是我的代码:

go:-
write('insert patient name'),nl,
read(Patient),nl,Patient=Patient,
hypothesis(Patient,Disease),
write(Patient),('probably has'),write(Disease),nl.
go:-
write('sorry,the disease'),nl,write('cannot be diagnosed'),nl.

symptom(Patient,abdominal pain):-
write('does'),write(Patient),
write('have abdominal pain y/n'),read(Reply),
Reply=y,nl.
symptom(Patient,fever):-
write('does'),write(Patient),write('have a fever (y/)?'),
read(Reply),
Reply=y,nl.
symptom(Patient,blood or mucus in stool):-
write('does'),write(Patient)write('have blood or mucus in stool(y/n)?'),
read(Reply),
Reply=y,nl.
symptom(Patient,nausea and vomiting):-
write('does'),write(Patient)write('have nausea and vomiting (y/n)?'),
read(Reply),
Reply=y,nl.
symptom(Patient,diarrhea):-
write('does'),write(Patient)write('have diarrhea (y/n)?'),
read(Reply),
Reply=y,nl.
symptom(Patient,leg cramp):-
write('does'),write(Patient)write('leg cramp(y/n)?'),
read(Reply),
Reply=y,nl.
symptom(Patient,abdominal cramp):-
write('does'),write(Patient)write('have abdominal cramp(y/n)?'),
read(Reply),
Reply=y,nl.
symptom(Patient,cold skin):-
write('does'),write(Patient)write('have cold skin (y/n)?'),
read(Reply),
Reply=y,nl.
symptom(Patient,weak pulse):-
write('does'),write(Patient)write('have weak pulse(y/n)?'),
read(Reply),
Reply=y,nl.
symptom(Patient,voice change):-
write('does'),write(Patient)write('have voice change(y/n)?'),
read(Reply),
Reply=y,nl.
symptom(Patient,sea sickness):-
write('does'),write(Patient)write('have sea-sickness(y/n)?'),
read(Reply),
Reply=y,nl.
symptom(Patient,upset stomach):-
write('does'),write(Patient)write('have upset stomach(y/n)?'),
read(Reply),
Reply=y,nl.
symptom(Patient,feeling green around the gill):-
write('does'),write(Patient)write('have feeling green around the gill(y/n)?'),
read(Reply),
Reply=y,nl.
symptom(Patient,weakness):-
write('does'),write(Patient)write('have weakness(y/n)?'),
read(Reply),
Reply=y,nl.
symptom(Patient,flu like symptom):-
write('does'),write(Patient)write('have flu-like symptom(y/n)?'),
read(Reply),
Reply=y,nl.
symptom(Patient,fatigue):-
write('does'),write(Patient)write('have fatigue(y/n)?'),
read(Reply),
Reply=y,nl.
symptom(Patient,intestinal pain):-
write('does'),write(Patient)write('have intestinal pain(y/n)?'),
read(Reply),
Reply=y,nl.
symptom(Patient,straining at stool):-
write('does'),write(Patient)write('have straining at stool(y/n)?'),
read(Reply),
Reply=y,nl.

hypothesis(Patient,chorela):-
symptom(Patient,diarrhea),
symptom(Patient,vomiting),
symptom(Patient,leg cramp),
symptom(Patient,cold skin),
symptom(Patient,weak pulse),
symptom(Patient,voice change).
hypothesis(Patient,gastroenteritis):-
symptom(Patient,vomiting),
symptom(Patient,nausea),
symptom(Patient,diarrhea),
symptom(Patient,sea sickness),
symptom(Patient,upset stomach),
symptom(Patient,feeling green around the gill),
symptom(Patient,abdominal pain),
symptom(Patient,weakness),
symptom(Patient,flu like symptom),
symptom(Patient,fatigue),
symptom(Patient,blood or mucus in stool).
hypotesis(Patient,shigellosis):-
symptom(Patient,diarrihea),
symptom(Patient,fever),
symptom(Patient,nausea),
symptom(Patient,vominting),
symptom(Patient,abdominal pain),
symptom(Patient,intestinal pain),
symptom(Patient,straining at stool),
symptom(Patient,blood or mucus in stool).

最佳答案

定义 的第一行症状/2 在明确的第二个参数中有一个空白。也许你的意思是有一个原子“腹痛”,但正如所写的那样,解析器会看到两个原子,腹部和疼痛,并且不知道你的意思。

补充:相同的“嵌入空白”错误出现在 的大多数子句的头部。症状/2 , 以及 的子句正文中假设/2 症状被称为。还要注意该谓词的最后一个子句中“假设”的拼写错误。

关于prolog - 语法错误 : Operator expected,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4634867/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com