Завантажте застосунок
Виберіть папку й попросіть помічника прочитати потрібні файли перед редагуванням. Визначте мету та межі завдання.
Розподіліть до 4096 скінченних значень за 2–257 строго зростаючими межами в ±10^100. Перевірте рівність межам, порожні дані й викиди, включіть останню межу та порахуйте виходи за діапазон без зміни списків.
Виберіть папку й попросіть помічника прочитати потрібні файли перед редагуванням. Визначте мету та межі завдання.
Оберіть сумісний endpoint. Доступність інструментів і якість відповідей залежать від налаштованої моделі та сервера.
Переглядайте зміни й результати команд. Перед прийняттям результату виконайте перевірки проєкту; створений код не тестується автоматично.
Порівняйте фактичну поведінку з очікуваним результатом. Якщо перевірка не проходить, з’ясуйте причину перед наступними змінами.
import bisect, math
def histogram(edges, values):
if type(edges) is not list or type(values) is not list or not 2 <= len(edges) <= 257 or len(values) > 4096:
raise ValueError("bins.shape")
if any(type(x) not in (int, float) or not -10**100 <= x <= 10**100 or not math.isfinite(x) for x in edges+values):
raise ValueError("bins.value")
if any(a >= b for a, b in zip(edges, edges[1:])):
raise ValueError("bins.edges")
counts, under, over = [0]*(len(edges)-1), 0, 0
for value in values:
if value < edges[0]:
under += 1
elif value > edges[-1]:
over += 1
else:
counts[min(bisect.bisect_right(edges, value)-1, len(counts)-1)] += 1
return counts, under, over
Перевірте перед застосуванням. Переглядайте зміни й результати команд. Перед прийняттям результату виконайте перевірки проєкту; створений код не тестується автоматично.