Никита Марков 1 месяц назад
Родитель 9bb25f8594
Сommit fb8715a1fb

Двоичные данные
TEMA6/task.bn

Двоичный файл не отображается.

@ -0,0 +1,109 @@
# Общее контрольное задание по теме 5
Марков Никита Сергеевич, А-03-23
## Задание
Придумайте инструкции и запишите их в файл с расширением .py , которые выполняют следующие операции:
1.Создаётся объект-кортеж со 125 целыми случайными числами из диапазона от 6 до 56, представленными в виде символьных строк.
2.Создаётся объект-список с вашей фамилией и 4 фамилиями ваших одноклассников.
3.Записывается кортеж в бинарный файл.
4.Записывается в этот же файл список и закрывается файл.
5.Открывается этот файл для чтения и считывает из него данные в 2 новых объекта.
6.Проверяется на совпадение новых объектов с исходными и выводится соответствующее сообщение.
7.Разделяется кортеж на совокупности по 5 чисел в каждой и они записываются в виде отдельных списков со своими именами.
## Решение
### Создаётся объект-кортеж со 125 целыми случайными числами из диапазона от 6 до 56, представленными в виде символьных строк.
```py
>>> import random as rn
>>> kort = tuple(str(rn.randint(6,56)) for _ in range(126))
>>> kort
('35', '56', '22', '10', '20', '39', '10', '40', '31', '10', '45', '35', '47', '29', '50', '7', '54', '55', '49', '23', '41', '47', '12', '49', '17', '23', '17', '34', '19', '28', '16', '45', '48', '17', '8', '9', '33', '37', '25', '37', '55', '25', '41', '41', '29', '24', '29', '36', '9', '31', '24', '13', '14', '54', '28', '20', '7', '25', '45', '18', '17', '32', '21', '49', '41', '14', '23', '45', '10', '26', '51', '19', '14', '56', '44', '33', '50', '32', '16', '35', '15', '29', '39', '30', '46', '27', '31', '37', '20', '39', '50', '29', '31', '17', '53', '49', '42', '50', '27', '33', '47', '39', '48', '43', '14', '22', '29', '29', '26', '51', '50', '42', '36', '43', '39', '21', '55', '6', '19', '52', '38', '52', '32', '50', '29', '27')
```
### Создаётся объект-список с вашей фамилией и 4 фамилиями ваших одноклассников.
```py
>>> spis = ['Марков','Бутко','Грудинин','Степанищев','Криштул']
```
### Записывается кортеж и список в бинарный файл.
```py
>>> import pickle
>>> fp=open('task.bn','wb')
>>> pickle.dump(kort,fp)
>>> pickle.dump(spis,fp)
>>> fp.close()
>>> fp=open('task.bn','rb')
>>> obj1=pickle.load(fp)
>>> obj2=pickle.load(fp)
>>> fp.close()
>>> obj1 == kort; obj2 == spis
True
True
>>> obj1
('35', '56', '22', '10', '20', '39', '10', '40', '31', '10', '45', '35', '47', '29', '50', '7', '54', '55', '49', '23', '41', '47', '12', '49', '17', '23', '17', '34', '19', '28', '16', '45', '48', '17', '8', '9', '33', '37', '25', '37', '55', '25', '41', '41', '29', '24', '29', '36', '9', '31', '24', '13', '14', '54', '28', '20', '7', '25', '45', '18', '17', '32', '21', '49', '41', '14', '23', '45', '10', '26', '51', '19', '14', '56', '44', '33', '50', '32', '16', '35', '15', '29', '39', '30', '46', '27', '31', '37', '20', '39', '50', '29', '31', '17', '53', '49', '42', '50', '27', '33', '47', '39', '48', '43', '14', '22', '29', '29', '26', '51', '50', '42', '36', '43', '39', '21', '55', '6', '19', '52', '38', '52', '32', '50', '29', '27')
>>> obj2
['Марков', 'Бутко', 'Грудинин', 'Степанищев', 'Криштул']
>>> if(obj1 == kort and obj2 == spis):
print("Объекты схожи")
Объекты схожи
```
### Разделяется кортеж на совокупности по 5 чисел в каждой и они записываются в виде отдельных списков со своими именами.
```py
>>> vocab = {}
>>> for i in range(0,len(kort),5):
vocab['группа №'+str(i//5)] = list(kort[i:i+5])
```
Загрузка…
Отмена
Сохранить