|
|
|
@ -0,0 +1,78 @@
|
|
|
|
|
|
|
|
# Тест по модулю 3
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Вариант 13
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## Задание
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1)Создайте множество с 15 элементами - целыми нечетными уникальными числами в диапазоне значений от 147 до 263.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2) Запросите у пользователя имя файла для вывода и запишите множество в бинарный файл с заданным именем.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3) Уберите из памяти ранее созданное множество.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4) Прочитайте из бинарного файла множество в новый объект.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5) Превратите введенное множество в список, упорядоченный по возрастанию его элементов. Отобразите список на экране по шаблону: "элемент №<номер элемента> = <значение элемента>"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## Решение
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
```py
|
|
|
|
|
|
|
|
# 1)Создайте множество с 15 элементами - целыми нечетными уникальными числами в диапазоне значений от 147 до 263.
|
|
|
|
|
|
|
|
import random
|
|
|
|
|
|
|
|
mnoz = set()
|
|
|
|
|
|
|
|
while len(mnoz) < 15:
|
|
|
|
|
|
|
|
number = random.randint(147, 263)
|
|
|
|
|
|
|
|
if number % 2 == 1: mnoz.add(number)
|
|
|
|
|
|
|
|
mnoz
|
|
|
|
|
|
|
|
{161, 259, 163, 195, 231, 199, 201, 171, 239, 243, 181, 245, 217, 221, 255}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 2) Запрашиваем имя файла и записываем множество в бинарный файл
|
|
|
|
|
|
|
|
whatfile = input('Введите имя файла, в который запишется множество: ')
|
|
|
|
|
|
|
|
Введите имя файла, в который запишется множество: filefin.bin
|
|
|
|
|
|
|
|
import pickle
|
|
|
|
|
|
|
|
f1 = open(whatfile, 'wb')
|
|
|
|
|
|
|
|
pickle.dump(mnoz, f1)
|
|
|
|
|
|
|
|
f1.close()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Просмотрим, что внутри:
|
|
|
|
|
|
|
|
Ђ•$ Џ”(KЎMKЈKГKзKЗKЙK«KпKуKµKхKЩKЭKяђ.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 3) Удаляем множество из памяти
|
|
|
|
|
|
|
|
del mnoz
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 4) Читаем множество из бинарного файла
|
|
|
|
|
|
|
|
f1 = open(whatfile, 'rb')
|
|
|
|
|
|
|
|
mnoz1 = pickle.load(f1)
|
|
|
|
|
|
|
|
mnoz1
|
|
|
|
|
|
|
|
{161, 259, 163, 195, 231, 199, 201, 171, 239, 243, 181, 245, 217, 221, 255}
|
|
|
|
|
|
|
|
f1.close()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 5) Преобразуем множество в отсортированный список и выводим по шаблону
|
|
|
|
|
|
|
|
newlist = list(mnoz1)
|
|
|
|
|
|
|
|
newlist
|
|
|
|
|
|
|
|
[161, 259, 163, 195, 231, 199, 201, 171, 239, 243, 181, 245, 217, 221, 255]
|
|
|
|
|
|
|
|
sortedlist = sorted(newlist)
|
|
|
|
|
|
|
|
sortedlist
|
|
|
|
|
|
|
|
[161, 163, 171, 181, 195, 199, 201, 217, 221, 231, 239, 243, 245, 255, 259]
|
|
|
|
|
|
|
|
for i in sortedlist:
|
|
|
|
|
|
|
|
print('Элемент №', sortedlist.index(i) + 1, ' = ', i)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Элемент № 1 = 161
|
|
|
|
|
|
|
|
Элемент № 2 = 163
|
|
|
|
|
|
|
|
Элемент № 3 = 171
|
|
|
|
|
|
|
|
Элемент № 4 = 181
|
|
|
|
|
|
|
|
Элемент № 5 = 195
|
|
|
|
|
|
|
|
Элемент № 6 = 199
|
|
|
|
|
|
|
|
Элемент № 7 = 201
|
|
|
|
|
|
|
|
Элемент № 8 = 217
|
|
|
|
|
|
|
|
Элемент № 9 = 221
|
|
|
|
|
|
|
|
Элемент № 10 = 231
|
|
|
|
|
|
|
|
Элемент № 11 = 239
|
|
|
|
|
|
|
|
Элемент № 12 = 243
|
|
|
|
|
|
|
|
Элемент № 13 = 245
|
|
|
|
|
|
|
|
Элемент № 14 = 255
|
|
|
|
|
|
|
|
Элемент № 15 = 259
|
|
|
|
|
|
|
|
```
|