2016-12-26 4 views
-1
%import string 
from pylog import* 

%RULES 

AmmountEarned(_steady,_[steady|unsteady]) :- AmmountEarned(_steady,_unsteady) 


min_savings(Dependents, Amount) :- 
Amount is 5000 * Dependents. 

min_income(Dependents, Amount) :- 
    Amount is (4000 * Dependents) + 15000. 

%Strategies 
investment(savings) :- 
savings(inadequate). 

investment(stocks) :- 
savings(adequate), income(adequate). 

investment(combo) :- 
savings(adequate), income(inadequate). 

%Logic 
% 
savings(adequate) :- 
amount_saved(Amount), 
numDependents(Dependents), 
min_savings(Dependents, SavingsMin), 
Amount > SavingsMin. 

savings(adequate) :- 
numDependents(Dependents), 
Dependents == 0. 

savings(inadequate) :- 
amount_saved(Amount), 
numDependents(Dependents), 
min_savings(Dependents, SavingsMin), 
Amount =< SavingsMin. 


income(adequate) :- 
earnings(AmountEarned, steady), 
numDependents(Dependents), 
min_income(Dependents, IncomeMin), 
AmountEarned > IncomeMin. 
income(inadequate) :- 
earnings(AmountEarned, steady), 
numDependents(Dependents), 
min_income(Dependents, IncomeMin), 
AmountEarned =< IncomeMin. 

income(adequate) :- 
numDependents(Dependents), 
Dependents == 0. 
income(inadeqate) :- 
earnings(ammountEarned, unsteady). 

amount_saved(22000). 
numDependents(3). 
earnings(25000, steady). 

答えて

0

プログラムの最初の行は、PrologではなくPythonのように見えます。このPythonとPrologを1つのファイルに混在させることは、PyLogの機能ですか?

AmmountEarnedを含む行には、構文エラーとロジックエラーが混在しています。それはまた、プログラムの残りの部分とは関係がありません。それを除く。

また、将来的には、正確なエラーメッセージをタイトルだけでなく、質問の本文に含めてください。エラーメッセージが特定のプログラムポイント(例えば行番号)を指定している場合は、それも含めます。

関連する問題