(Учитывая список фильмов, напишите правило PROLOG, чтобы добавить и отобразить общее количество поступлений.) Это мой вопрос. Я в основном пытаюсь добавить целочисленное значение, чтобы получить список фильмов из списка ниже. Я довольно новичок в Прологе и не очень понимаю, как все это работает.
takings(air_force_one,315000000).
takings(american_beauty,336000000).
takings(american_pie,201700000).
takings(american_wedding,230700000).
takings(armageddon,554600000).
takings(as_good_as_it_gets,313300000).
takings(austin_powers_in_goldmember,289000000).
takings(babe,249000000).
takings(back_to_the_future,350600000).
takings(back_to_the_future_part_ii,332000000).
takings(back_to_the_future_part_iii,243700000).
takings(robots,245600000).
takings(hulk,241700000).
takings(bad_boys_ii,261900000).
Правило, которое я написал до сих пор, работает только для одного mov ie. Пример:
?- score([robots],Y).
Y = 245600000.
?- score([robots,hulk],Y).
false.
?- score([robots,hulk,bad_boys__ii],Y).
false.
Правило написано:
score([Movies], Money):-
findall(Profit,(takings(Movies, Profit)), ListOfProfit),
sum_list(ListOfProfit, Money).
Связанный вопрос запрос на рекурсивный ответ.