Mauvais affichage prolog

Fermé
ArmandAs_1998 Messages postés 17 Date d'inscription jeudi 21 janvier 2021 Statut Membre Dernière intervention 20 février 2022 - 20 févr. 2022 à 18:14
Bonjour,

J'ai un exercice à résoudre et j'ai un problème au niveau de l'affichage de mon programme lors de la solution.

Je dispose de faits représentant le prix au kilo de fruits:

prix(pomme,7).
prix(melon,13).
prix(banane,8)
....
Il me faut écrire un prédicat total/2 qui détermine le montant total d'une liste de fruits avec leur poids. Chaque couple fruit/poids est représenté par une liste à deux éléments. Le premier paramètre est donc une liste de listes. Par exemple:

?- total([[banane,1.5],[pomme,0.5]],T).
T=15.5

Voici mon code:

total([[]],0).
total([[T1,T2|L]],X)):- prix(T1,Prix), total(L,X1), X is X1+(T2*Prix).


Or mon programme affiche false car vraisemblablement il y a un problème d'unification. Comment puis-je alors faire ?
Merci.