# Индивидуальное контрольное задание по теме 6 **Антонов Дмитрий, А-03-23** ## Задание M2_8 1) Создайте множество с 40 элементами - случайными числами, равномерно распределенными на интервале от -20 до +10. Числа должны быть округлены до двух знаков после точки. ```py import os os.chdir('//Users//dmitrijantonov//Desktop//POAC//python-labs//TEMA6//') import random as rn my_set = set(round(rn.uniform(-20,10),2) for _ in range(40)) my_set {0.41, 2.22, 3.89, 4.77, 5.04, 6.94, 7.43, 8.16, 9.13, 9.48, 9.85, 6.01, 9.2, -3.82, -19.36, -18.72, -15.84, -9.36, -9.5, -8.1, -4.59, -19.23, -4.49, -4.15, -16.02, -4.74, -16.5, -13.96, -12.95, -11.92, -10.71, -9.89, -8.66, -7.45, -6.18, -5.86, -4.62, -3.52, -2.95, -1.4} type(my_set) ``` 2) Запросите у пользователя и введите имя бинарного файла для сохранения множества. Если во введенном имени есть пробелы, замените их на пустые строки. ```py name = input("Введите имя бинарного файла для сохранения множества: ").replace(" ","") Введите имя бинарного файла для сохранения множества: NA ME name 'NAME' ``` 3) Запишите множество в бинарный файл с указанным именем. ```py import pickle fl = open(name+"bn",'wb') pickle.dump(my_set,fl) fl.close() ``` 4) Удалите из памяти созданное множество. ```py del(my_set) ``` 5) Прочитайте множество из файла и рассчитайте по его элементам среднее значение. Отобразите его на экране по шаблону: " По <число элементов> среднее = <рассчитанное значение>". Выводимое среднее округлить до двух знаков после точки. ```py fl = open(name+"bn",'rb') file_set = pickle.load(fl) file_set {0.41, 2.22, 3.89, 4.77, 5.04, 6.94, 7.43, 8.16, 9.13, 9.48, 9.85, 6.01, 9.2, -7.45, -4.62, -3.52, -9.36, -9.89, -8.66, -6.18, -4.49, -19.36, -18.72, -19.23, -4.15, -15.84, -16.02, -4.74, -16.5, -13.96, -12.95, -9.5, -8.1, -11.92, -10.71, -5.86, -4.59, -3.82, -2.95, -1.4} import numpy mn = numpy.mean(list(file_set)) mn np.float64(-4.2989999999999995) print("По {} среднее = {} ".format(len(file_set),round(mn,2))) По 40 среднее = -4.30 ```