У меня проблема с тем, как взвесить слово.
Каждая буква в слове имеет определенный вес, мне нужно рассчитать общий вес слова.
Например:
A-E = 1, F-O = 2, P-Z = 3.
Если слово «PEN», ответом будет «Вес = 6»,
cuz P = 3, E = 1 and N = 2.
Я пробовал:
word_weight([X], W):-
X = 65 -> W = 1;
X = 66 -> W = 3.
word_weight([X,Y],W):-
X = 65 -> W1 = 1;
X = 66 -> W1 = 3,
Y = 65 -> W2 = 1;
Y = 66 -> W2 = 3,
W is W1 + W2.
word_weight([X|Y], W):-
X = 65 -> W = 1;
X = 66 -> W = 3,
word_weight(Y, W).
Запуск Res:
| ? - word_weight ("B", W).
W = 3?
да
Работает только с одной буквой. Как сделать так, чтобы он работал со многими буквами? И ответами будет общее значение веса.