RRankTrell
Espacio de programación con IA

Rangos medios para empates

Asigna rangos medios desde uno a un máximo de 1000 valores numéricos finitos conservando sus posiciones.

● ● ●RankTrell●
Flujos de trabajo · Rangos medios para empates ×
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
✳Asigna rangos medios desde uno a un máximo de 1000 valores numéricos finitos conservando sus posiciones.
✓ CambiosRevisa antes de aplicar ↗
Vista ilustrativa
  1. Revisa antes de aplicar

    Compara el comportamiento real con el resultado esperado. Si una prueba falla, investiga la causa antes de hacer más cambios.

  2. Modelos

    Configura un endpoint compatible con OpenAI o Anthropic usando la URL base y, si hace falta, una clave API. Prueba la conexión. Un servidor local debe estar en ejecución; las herramientas remotas pueden enviar datos por separado.

  3. Proyecto

    Comprueba empates, negativos y entrada vacía, rechazando booleanos y flotantes no finitos antes de ordenar.

Flujos de trabajo

Rangos medios para empates

Flujos de trabajo ↗
Flujos de trabajo
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
Espacio de programación con IA

Da a los valores iguales un lugar explícito en el resultado

RankTrell es un entorno de programación con IA para Windows destinado a desarrolladores que traducen reglas de datos en cambios de implementación. Abre tu proyecto y describe cómo debe tratar la aplicación los valores iguales, los resultados ausentes y la relación entre el orden de entrada y el de salida. Pide al modelo conectado que examine el cálculo y sus consumidores para que la propuesta responda a la regla de negocio y no se limite a producir una lista ordenada.

El contexto de ranks.py sugiere una tarea sobre rangos medios para valores empatados. Puedes pedir una explicación de cómo se asignan los resultados a sus posiciones originales y solicitar después un cambio específico si tu proyecto se comporta de otra manera. Usa ejemplos pequeños con respuestas conocidas para concretar la conversación. Revisa tanto la política de empates como la representación devuelta al resto de la aplicación.

Cuando la implementación esté lista para examinarse, ejecuta las comprobaciones de tu proyecto con valores iguales, negativos y entradas que la función deba rechazar. Compara los resultados reales con los ejemplos acordados antes de editar. RankTrell admite endpoints de modelos compatibles con OpenAI o de Anthropic, con credenciales cuando sean necesarias. Puedes elegir un modelo de IA sin restricciones ofrecido a través de esa conexión, sujeto a las condiciones de su proveedor; las herramientas y los límites de contexto dependen del modelo y del servidor. Un resultado esperado claro sigue siendo más útil que la confianza en una explicación generada.

Reglas de clasificación que resolver antes de aceptar el código

¿Deben recibir posiciones diferentes los valores empatados?

Depende de la regla de clasificación que necesite tu aplicación. Indica si los empates comparten un rango medio, otro rango o usan una clave secundaria. Pide ejemplos antes de implementar para que la política elegida sea visible y verificable.

¿Por qué conservar la relación con el orden de entrada original?

Un consumidor puede necesitar asociar cada rango al registro que aportó el valor. Comprueba explícitamente esa correspondencia; una secuencia correctamente ordenada puede asignar resultados a registros equivocados si no se restauran las posiciones.

¿Pueden los números no válidos simplemente ordenarse al final?

Solo si esa es tu política especificada y los consumidores la entienden. De lo contrario, exige su rechazo u otra representación explícita. Examina la validación numérica junto con el código de clasificación en vez de dejar que las comparaciones en tiempo de ejecución definan la regla de la aplicación.

¿Cómo reviso una refactorización de clasificación sin un conjunto de datos grande?

Empieza con unos pocos casos comprobables a mano que contengan empates, valores distintos y una entrada vacía. Después ejecuta datos representativos del proyecto según sea necesario. Los casos pequeños facilitan identificar diferencias de política antes de que una validación más amplia añada volumen.

Descargar para Windows ↗

RankTrell · Actualizado 2026-10-25