# Тест по модулю 2. ***Вариант 8*** M2_8 1) Создайте множество с 40 элементами - случайными числами, равномерно распределенными на интервале от -20 до +10. Числа должны быть округлены до двух знаков после точки. 2) Запросите у пользователя и введите имя бинарного файла для сохранения множества. Если во введенном имени есть пробелы, замените их на пустые строки. 3) Запишите множество в бинарный файл с указанным именем. 4) Удалите из памяти созданное множество. 5) Прочитайте множество из файла и рассчитайте по его элементам среднее значение. Отобразите его на экране по шаблону: " По <число элементов> среднее = <рассчитанное значение>". Выводимое среднее округлить до двух знаков после точки. ```python import random import pickle import os #Создание случайного множества random_set = {round(random.uniform(-20, 10), 2) for _ in range(40)} print("Создано случайное множество:", random_set) #Создание бинарного файла filename = input("Введите имя бинарного файла: ") filename = filename.replace(" ", "") #Запись в файл fp=open(os.getcwd()+ '/TEMA6/' + filename, 'wb') pickle.dump(random_set,fp) fp.close() #Удаление множества из памяти del random_set print("Множество удалено из памяти:", dir()) #Восстановление множества из бинарного файла fp=open(os.getcwd()+ '/TEMA6/' + filename, 'rb') random_set = pickle.load(fp) fp.close() print("Множество восстановлено из бинарного файла:", random_set) #Вычисление среднего и вывод на экран sred=round(sum(random_set)/len(random_set),2) print(f'\nПо {len(random_set)} среднее = {sred}') ``` Ответ программы: ```shell Создано случайное множество: {-0.65, -0.91, 2.79, 1.01, 4.36, 5.77, 6.0, 7.94, 7.71, 7.77, 5.92, 2.69, 7.47, 5.29, 0.83, 3.01, -0.48, -6.31, -4.12, 0.88, -3.69, -8.01, -7.68, -6.59, -19.43, -19.78, -17.23, -16.84, -15.69, -15.05, -18.98, -12.96, -19.37, -11.0, -8.89, -7.07, -6.5, -4.4, -3.56, -1.43} Введите имя бинарного файла: binary Множество удалено из памяти: ['__annotations__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'filename', 'fp', 'os', 'pickle', 'random'] Множество восстановлено из бинарного файла: {-0.65, -0.91, 2.79, 1.01, 4.36, 5.77, 6.0, 7.94, 7.71, 7.77, 5.92, 2.69, 7.47, 5.29, 3.01, -3.56, -0.48, 0.88, -8.89, -7.68, -7.07, -6.59, -6.5, -4.4, -19.43, -19.78, -17.23, -16.84, -15.69, -15.05, -18.98, -12.96, -19.37, -11.0, -8.01, 0.83, -6.31, -4.12, -3.69, -1.43} По 40 среднее = -4.18 ```