main
TerekhovFV 4 дней назад
Родитель b0636ee11a
Сommit d6314040d3

@ -0,0 +1,61 @@
# Тест по модулю 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
```

@ -1,9 +1,30 @@
import random
import pickle
import os
# Создаем список с 50 целыми числами от 12 с шагом 4
numbers_list = [12 + i * 4 for i in range(50)]
print("Список:", numbers_list)
#Создание случайного множества
random_set = {round(random.uniform(-20, 10), 2) for _ in range(40)}
print("\nСоздано случайное множество:", random_set)
#Создание бинарного файла
filename = input("\nВведите имя бинарного файла: ")
filename = filename.replace(" ", "")
numbers_tuple = tuple(random.sample(numbers_list, 25))
print("Кортеж:", numbers_tuple)
#Запись в файл
fp=open(os.getcwd()+ '/TEMA6/' + filename, 'wb')
pickle.dump(random_set,fp)
fp.close()
#Удаление множества из памяти
del random_set
print("\nМножество удалено из памяти:", dir())
#Восстановление множества из бинарного файла
fp=open(os.getcwd()+ '/TEMA6/' + filename, 'rb')
random_set = pickle.load(fp)
fp.close()
print("\nМножество восстановлено из бинарного файла:", random_set)
#Вычисление среднего и вывод на экран
sred=round(sum(random_set)/len(random_set),2)
print(f'\nПо {len(random_set)} среднее = {sred}')
Загрузка…
Отмена
Сохранить