RRankTrell
Робоче середовище з ШІ для коду

Середні ранги однакових значень

Призначте середні ранги від одиниці не більш ніж 1000 скінченним числовим значенням зі збереженням позицій.

● ● ●RankTrell●
Сценарії · Середні ранги однакових значень ×
from math import isfinite

def average_ranks(values):
    if type(values) not in (list, tuple) or len(values) > 1000:
        raise ValueError("values.container")
    values = tuple(values)
    if len(values) > 1000 or any(
        type(v) not in (int, float) or
        (type(v) is float and not isfinite(v)) for v in values
    ):
        raise ValueError("values.invalid")
    order = sorted(range(len(values)), key=values.__getitem__)
    result = [0.0] * len(values)
    first = 0
    while first < len(order):
        end = first + 1
        while end < len(order) and values[order[end]] == values[order[first]]:
            end += 1
        rank = (first + 1 + end) / 2
        for i in order[first:end]:
            result[i] = rank
        first = end
    return result
✳Призначте середні ранги від одиниці не більш ніж 1000 скінченним числовим значенням зі збереженням позицій.
✓ ЗміниПеревірте перед застосуванням ↗
Ілюстрація робочого середовища
  1. Перевірте перед застосуванням

    Порівняйте фактичну поведінку з очікуваним результатом. Якщо перевірка не проходить, з’ясуйте причину перед наступними змінами.

  2. Моделі

    Налаштуйте OpenAI-сумісний або Anthropic endpoint із базовою URL-адресою та API-ключем, якщо він потрібен. Перевірте з’єднання. Локальний сервер моделі має працювати; віддалені інструменти можуть окремо передавати дані.

  3. Проєкт

    Перевірте однакові й від’ємні значення та порожній ввід, відхиляючи логічні типи й нескінченні дробові числа до сортування.

Сценарії

Середні ранги однакових значень

Сценарії ↗
Сценарії
from math import isfinite

def average_ranks(values):
    if type(values) not in (list, tuple) or len(values) > 1000:
        raise ValueError("values.container")
    values = tuple(values)
    if len(values) > 1000 or any(
        type(v) not in (int, float) or
        (type(v) is float and not isfinite(v)) for v in values
    ):
        raise ValueError("values.invalid")
    order = sorted(range(len(values)), key=values.__getitem__)
    result = [0.0] * len(values)
    first = 0
    while first < len(order):
        end = first + 1
        while end < len(order) and values[order[end]] == values[order[first]]:
            end += 1
        rank = (first + 1 + end) / 2
        for i in order[first:end]:
            result[i] = rank
        first = end
    return result
Робоче середовище з ШІ для коду

Явно визначте місце рівних значень у результаті

RankTrell — це середовище програмування з ШІ у Windows для розробників, які перетворюють правила даних на зміни реалізації. Відкрийте проєкт і опишіть, як застосунок має обробляти рівні значення, відсутні результати та зв’язок порядку вхідних і вихідних даних. Попросіть підключену модель перевірити обчислення та його споживачів, щоб пропозиція відповідала бізнес-правилу, а не лише створювала відсортований список.

Контекст ranks.py підказує завдання із середніми рангами рівних значень. Можна попросити пояснити, як результати повертаються на початкові позиції, а потім замовити цільову правку, якщо проєкт поводиться інакше. Використовуйте малі приклади з відомими відповідями для конкретного обговорення. Перевіряйте політику рівних значень і представлення, яке повертається решті застосунку.

Коли реалізація готова до перевірки, запустіть перевірки проєкту для рівних значень, від’ємних значень і даних, які функція має відхиляти. Порівняйте фактичні результати з прикладами, узгодженими до редагування. RankTrell підтримує кінцеві точки моделей, сумісні з OpenAI, або Anthropic, з обліковими даними за потреби. Ви можете обрати запропоновану через це підключення модель ШІ без обмежень відповідно до умов постачальника; інструменти й межі контексту залежать від моделі та сервера. Чіткий очікуваний результат залишається кориснішим за впевненість у згенерованому поясненні.

Правила ранжування перед прийняттям коду

Чи мають рівні значення отримувати різні позиції?

Це залежить від правила ранжування застосунку. Укажіть, чи рівні значення мають спільний середній ранг, інший спільний ранг або додатковий ключ. Попросіть приклади перед реалізацією, щоб політика була видимою й перевірюваною.

Навіщо зберігати зв’язок із початковим порядком даних?

Споживачеві може бути потрібно прив’язати кожен ранг до запису, що надав значення. Перевірте це відображення явно: правильно відсортована послідовність може призначати результати не тим записам, якщо позиції не відновлено.

Чи можна просто сортувати некоректні числа в кінець?

Лише якщо це ваша визначена політика й споживачі її розуміють. Інакше вимагайте відхилення або іншого явного представлення. Перевіряйте числову валідацію разом із ранжуванням, не дозволяючи поведінці порівняння під час виконання визначати правило застосунку.

Як перевірити рефакторинг ранжування без великого набору даних?

Почніть із кількох прикладів, що перевіряються вручну: рівні значення, різні значення та порожні дані. Потім за потреби запустіть характерні дані проєкту. Малі приклади полегшують виявлення відмінностей політик до додавання обсягу ширшою перевіркою.

Завантажити для Windows ↗

RankTrell · Оновлено 2026-10-25