Advertisement
Guest User

Untitled

a guest
Dec 10th, 2019
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.01 KB | None | 0 0
  1. #! /usr/bin/env python3
  2.  
  3. import math
  4. import random
  5.  
  6.  
  7. min_value = 1000000
  8. max_value = -1000000
  9.  
  10. # Количество получаемых чисел
  11. count = 100
  12.  
  13.  
  14. def get_rand_value():
  15.     # Равномерное распределение
  16.     return int(random.randint(0, 1000))
  17.  
  18.     # Нормальное распределение
  19.     # return int(random.normalvariate(500, 100))
  20.  
  21.  
  22. def min_max(data):
  23.     # Функция определения минимального/максимального/модуля разности
  24.     global min_value
  25.     global max_value
  26.  
  27.     for i in data:
  28.         if i < min_value:
  29.             min_value = i
  30.         if i > max_value:
  31.             max_value = i
  32.  
  33.     print("Минимальное значение на всем участке: " + str(min_value))
  34.     print("Максимальное значение на всем участке: " + str(max_value))
  35.     print("Модуль разности: " + str(abs(max_value-min_value)))
  36.  
  37. def count_A_B(data, a, b):
  38.     x_count = 0
  39.     for j in data:
  40.         if j >= a and j <= b:
  41.             x_count += 1
  42.     return x_count 
  43.  
  44. def gistogramma(data):
  45.     delta_interval = int( (max_value - min_value)/(1+3.322*math.log10(count))  )
  46.     print("Шаг (h) для построения гистрограммы: " + str(delta_interval))
  47.  
  48.     for i in range(0, int((max_value-min_value)/delta_interval +1)): # Диапазон перекрывается не полностью. При желании можно сделать +1
  49.         i_min = i*delta_interval+1
  50.         i_max = (i+1)*delta_interval
  51.         print("В диапазоне от " + str(i_min) + " до " + str(i_max) + " находится " + str(count_A_B(data, i_min, i_max)) + " чисел")
  52.  
  53.        
  54. if __name__ == '__main__':
  55.     print("Получим " + str(count) + " случайных чисел")
  56.  
  57.     list_rand = []
  58.     for i in range(0, count):
  59.         list_rand.append(get_rand_value())
  60.  
  61.     # Сортируем
  62.     list_rand.sort()
  63.  
  64.     print("Вариационный ряд:")
  65.     for i in list_rand:
  66.         print(i)
  67.        
  68.     min_max(list_rand)
  69.     gistogramma(list_rand)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement