RRankTrell
Spațiu de programare cu AI

Ranguri medii pentru egalități

Atribuie ranguri medii de la unu pentru cel mult 1000 de valori numerice finite păstrând pozițiile.

● ● ●RankTrell●
Fluxuri de lucru · Ranguri medii pentru egalități ×
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
✳Atribuie ranguri medii de la unu pentru cel mult 1000 de valori numerice finite păstrând pozițiile.
✓ ModificăriVerifică înainte de aplicare ↗
Ilustrarea spațiului de lucru
  1. Verifică înainte de aplicare

    Compară comportamentul real cu rezultatul așteptat. Dacă o verificare eșuează, cercetează cauza înainte de alte modificări.

  2. Modele

    Configurează un endpoint compatibil OpenAI sau Anthropic cu URL-ul de bază și cheia API, dacă este necesară. Testează conexiunea. Serverul local trebuie să ruleze; instrumentele externe pot transmite date separat.

  3. Proiect

    Verifică egalități, negative și intrare goală, respingând valorile booleene și numerele nefinite înainte de sortare.

Fluxuri de lucru

Ranguri medii pentru egalități

Fluxuri de lucru ↗
Fluxuri de lucru
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
Spațiu de programare cu AI

Dă valorilor egale un loc explicit în rezultat

RankTrell este un spațiu de lucru Windows pentru programare cu IA, destinat dezvoltatorilor care transpun regulile datelor în modificări ale implementării. Deschide proiectul și descrie cum trebuie aplicația să trateze valorile egale, rezultatele lipsă și relația dintre ordinea intrărilor și a ieșirilor. Cere modelului conectat să inspecteze calculul și consumatorii lui, astfel încât propunerea să răspundă regulii de afaceri, nu doar să producă o listă sortată.

Contextul ranks.py sugerează o sarcină privind rangurile medii pentru valori egale. Poți cere o explicație despre asocierea rezultatelor cu pozițiile originale, apoi o editare delimitată dacă proiectul se comportă diferit. Folosește exemple mici cu răspunsuri cunoscute pentru o discuție concretă. Verifică atât politica egalităților, cât și reprezentarea returnată restului aplicației.

Când implementarea este gata de inspectat, rulează verificările proiectului cu valori egale, valori negative și intrări pe care funcția trebuie să le respingă. Compară rezultatele efective cu exemplele convenite înainte de editare. RankTrell acceptă endpointuri de modele compatibile OpenAI sau Anthropic, folosind date de autentificare când sunt necesare. Poți alege un model IA fără restricții oferit prin acea conexiune, în condițiile furnizorului; instrumentele și limitele contextului depind de model și server. Un rezultat așteptat clar rămâne mai util decât încrederea într-o explicație generată.

Reguli de clasare de stabilit înainte de acceptarea codului

Valorile egale trebuie să primească poziții diferite?

Depinde de regula de clasare necesară aplicației. Precizează dacă egalitățile împart rangul mediu, alt rang sau folosesc o cheie secundară. Cere exemple înainte de implementare pentru ca politica aleasă să fie vizibilă și testabilă.

De ce să păstrez relația cu ordinea originală a intrărilor?

Un consumator poate avea nevoie să asocieze fiecare rang înregistrării care a furnizat valoarea. Verifică explicit asocierea; o secvență sortată corect poate atribui rezultate înregistrărilor greșite dacă pozițiile nu sunt restabilite.

Numerele nevalide pot fi pur și simplu sortate la final?

Numai dacă aceasta este politica specificată și consumatorii o înțeleg. Altfel, cere respingerea sau altă reprezentare explicită. Inspectează validarea numerică împreună cu codul de clasare, fără a lăsa comparațiile de la execuție să definească regula aplicației.

Cum verific o refactorizare a clasării fără un set mare de date?

Începe cu câteva cazuri verificabile manual, cu egalități, valori distincte și o intrare goală. Apoi rulează date reprezentative din proiect după necesitate. Cazurile mici facilitează identificarea diferențelor de politică înainte ca validarea mai largă să adauge volum.

Descarcă pentru Windows ↗

RankTrell · Actualizat 2026-10-25