Итак, как выдавать три ведущих результата, если, например, пять первых имеют одинаковое... — 10 сентября 2026 г. в 05:14:02.336
Итак, как выдавать три ведущих результата, если, например, пять первых имеют одинаковое значение 1. Я попросила заказчика расставить приоритеты у всех 12 архетипов и присвоила им веса от 1 до 12. 2. Но тупо взять и прибавить, допустим, 8 к Магу мы не можем, потому что это сильно исказит результаты. Делать многоступенчатые проверки, типа, если 1 = 2 и/или 2 = 3, то найди в списке приоритетов веса 1-2-3 и прибавь - ну тоже такая себе история 3. Значит нам надо каким-то образом ранжировать значения, но не искажать их Ииии... Как же это сделать? Я с тестами предпочитаю работать через массивы-словари. Собираю все результаты в словарь, сортирую по значению - и вот тебе список лидеров Но здесь сделала ещё дополнительный словарь, в котором используются не просто значения, а их модификация. Каждый результат по каждому архетипу умножается на 100 и к полученному произведению прибавляются веса. То есть, например, у нас Маг и Правитель набрали по 15 баллов. Кого выбрать? Считаем: 15*100=1500. Вес Мага - 8, вес Правителя - 10. То есть получаем 1508 и 1510. Дальше всё понятно И результат мы не искажаем, потому что 15 баллов так и останутся, как были. И ранжировать легко.

