Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

78 строки
3.0 KiB
Markdown

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# Тест по модулю 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
```