Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #! /usr/bin/env python3
- import math
- import random
- min_value = 1000000
- max_value = -1000000
- # Количество получаемых чисел
- count = 100
- def get_rand_value():
- # Равномерное распределение
- return int(random.randint(0, 1000))
- # Нормальное распределение
- # return int(random.normalvariate(500, 100))
- def min_max(data):
- # Функция определения минимального/максимального/модуля разности
- global min_value
- global max_value
- for i in data:
- if i < min_value:
- min_value = i
- if i > max_value:
- max_value = i
- print("Минимальное значение на всем участке: " + str(min_value))
- print("Максимальное значение на всем участке: " + str(max_value))
- print("Модуль разности: " + str(abs(max_value-min_value)))
- def count_A_B(data, a, b):
- x_count = 0
- for j in data:
- if j >= a and j <= b:
- x_count += 1
- return x_count
- def gistogramma(data):
- delta_interval = int( (max_value - min_value)/(1+3.322*math.log10(count)) )
- print("Шаг (h) для построения гистрограммы: " + str(delta_interval))
- for i in range(0, int((max_value-min_value)/delta_interval +1)): # Диапазон перекрывается не полностью. При желании можно сделать +1
- i_min = i*delta_interval+1
- i_max = (i+1)*delta_interval
- print("В диапазоне от " + str(i_min) + " до " + str(i_max) + " находится " + str(count_A_B(data, i_min, i_max)) + " чисел")
- if __name__ == '__main__':
- print("Получим " + str(count) + " случайных чисел")
- list_rand = []
- for i in range(0, count):
- list_rand.append(get_rand_value())
- # Сортируем
- list_rand.sort()
- print("Вариационный ряд:")
- for i in list_rand:
- print(i)
- min_max(list_rand)
- gistogramma(list_rand)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement