Pobierz aplikację
Wybierz folder i poproś asystenta o przeczytanie odpowiednich plików przed ich zmianą. Określ cel oraz granice zadania.
Zwróć dokładny nieskorygowany ułamek Giniego dla 1–4096 nieujemnych całkowitych liczników do 10^9. Sprawdź równość, permutacje i same zera, definiując wtedy zero i odrzucając wartości logiczne bez oceny sprawiedliwości.
Wybierz folder i poproś asystenta o przeczytanie odpowiednich plików przed ich zmianą. Określ cel oraz granice zadania.
Wybierz zgodny endpoint. Dostępne narzędzia i jakość odpowiedzi zależą od skonfigurowanego modelu i serwera.
Sprawdzaj zmiany i wyniki poleceń. Uruchom testy projektu przed zaakceptowaniem rezultatu; wygenerowany kod nie jest automatycznie przetestowany.
Porównaj rzeczywiste zachowanie z oczekiwanym wynikiem. Jeśli sprawdzenie się nie powiedzie, wyjaśnij przyczynę przed kolejnymi zmianami.
from fractions import Fraction
def gini_fraction(values):
if type(values) is not list or not 1 <= len(values) <= 4096 or any(type(x) is not int or not 0 <= x <= 10**9 for x in values):
raise ValueError("gini.values")
total, n = sum(values), len(values)
if total == 0:
return Fraction(0, 1)
numerator = sum((2*i-n-1)*value for i, value in enumerate(sorted(values), 1))
return Fraction(numerator, n*total)
Sprawdź przed zastosowaniem. Sprawdzaj zmiany i wyniki poleceń. Uruchom testy projektu przed zaakceptowaniem rezultatu; wygenerowany kod nie jest automatycznie przetestowany.