Baixe o aplicativo
Escolha uma pasta e peça ao assistente que leia os arquivos relevantes antes de editá-los. Defina o objetivo e os limites da tarefa.
Atribua postos médios iniciados em um a até 1000 valores numéricos finitos mantendo suas posições. Teste empates, negativos e entrada vazia, rejeitando booleanos e valores de ponto flutuante não finitos antes de ordenar.
Escolha uma pasta e peça ao assistente que leia os arquivos relevantes antes de editá-los. Defina o objetivo e os limites da tarefa.
Escolha um endpoint compatível. As ferramentas disponíveis e a qualidade das respostas dependem do modelo e do servidor configurados.
Confira as alterações e a saída dos comandos. Execute as verificações do projeto antes de aceitar o resultado; código gerado não vem automaticamente testado.
Compare o comportamento real com o resultado esperado. Se uma verificação falhar, investigue a causa antes de fazer outras alterações.
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 resultRevise antes de aplicar. Confira as alterações e a saída dos comandos. Execute as verificações do projeto antes de aceitar o resultado; código gerado não vem automaticamente testado.