форкнуто от main/python-labs
Вы не можете выбрать более 25 тем
Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
22 строки
866 B
Python
22 строки
866 B
Python
def histogram(data, num_bins):
|
|
"""Вычисляет и выводит гистограмму в виде таблицы, возвращает bins и counts."""
|
|
min_val, max_val = min(data), max(data)
|
|
bin_width = (max_val - min_val) / num_bins
|
|
bins = [min_val + i * bin_width for i in range(num_bins + 1)] #список границ интервалов min=0, max=10, num_bins=5 → bins=[0, 2, 4, 6, 8, 10]
|
|
counts = []
|
|
for i in range(num_bins):
|
|
count = 0
|
|
for x in data:
|
|
if bins[i] <= x < bins[i+1] or (x == max_val and i == num_bins - 1):
|
|
count += 1
|
|
counts.append(count)
|
|
|
|
print("Гистограмма:")
|
|
for i in range(num_bins):
|
|
print(f"Интервал: [{bins[i]:.2f}, {bins[i+1]:.2f}], Элементов: {int(counts[i])}")
|
|
|
|
return bins, counts
|
|
|
|
import taskik
|
|
|