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

5.3 KiB

Создаётся объект-кортеж со 125 целыми случайными числами из диапазона от 6 до 56, представленными в виде символьных строк.

import random
num = list(range(1, 126, 1))
num
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125]
kor = ()
for i in num:
    kor = kor + (random.randint(6, 56),)

    
kor
(6, 28, 55, 50, 53, 16, 9, 47, 24, 34, 49, 8, 42, 9, 17, 15, 35, 23, 21, 19, 8, 8, 6, 26, 34, 26, 55, 8, 56, 24, 40, 20, 34, 24, 29, 41, 23, 56, 38, 33, 30, 56, 55, 6, 35, 47, 18, 28, 28, 49, 25, 40, 46, 55, 40, 55, 15, 29, 29, 46, 43, 10, 37, 12, 14, 54, 29, 42, 19, 35, 16, 29, 50, 52, 43, 7, 16, 29, 26, 26, 25, 48, 18, 10, 33, 34, 45, 38, 23, 53, 7, 36, 42, 13, 18, 27, 33, 8, 49, 26, 29, 10, 56, 34, 33, 40, 13, 53, 6, 22, 50, 43, 30, 19, 32, 49, 15, 16, 9, 48, 40, 12, 14, 36, 52)
len(kor)
125
str_kor = tuple(map(str, kor))
str_kor
('6', '28', '55', '50', '53', '16', '9', '47', '24', '34', '49', '8', '42', '9', '17', '15', '35', '23', '21', '19', '8', '8', '6', '26', '34', '26', '55', '8', '56', '24', '40', '20', '34', '24', '29', '41', '23', '56', '38', '33', '30', '56', '55', '6', '35', '47', '18', '28', '28', '49', '25', '40', '46', '55', '40', '55', '15', '29', '29', '46', '43', '10', '37', '12', '14', '54', '29', '42', '19', '35', '16', '29', '50', '52', '43', '7', '16', '29', '26', '26', '25', '48', '18', '10', '33', '34', '45', '38', '23', '53', '7', '36', '42', '13', '18', '27', '33', '8', '49', '26', '29', '10', '56', '34', '33', '40', '13', '53', '6', '22', '50', '43', '30', '19', '32', '49', '15', '16', '9', '48', '40', '12', '14', '36', '52')

Создаётся объект-список с вашей фамилией и 4 фамилиями ваших одноклассников.

fam = ["Снегура", "Ефремов", "Туровец", "Хатюхин", "Шабатов"]

Записывается кортеж в бинарный файл.

import os
os.chdir("C:\\Users\\User-PC\\python-labs\\TEMA6")
f = open('bin.mnz', 'wb')
import pickle
pickle.dump(str_kor, f)

Записывается в этот же файл список и закрывается файл.

pickle.dump(fam, f)
f.close()

Открывается этот файл для чтения и считывает из него данные в 2 новых объекта.

f = open('bin.mnz', 'rb')
obj1 = pickle.load(f)
obj2_spis = pickle.load(f)
obj1
('6', '28', '55', '50', '53', '16', '9', '47', '24', '34', '49', '8', '42', '9', '17', '15', '35', '23', '21', '19', '8', '8', '6', '26', '34', '26', '55', '8', '56', '24', '40', '20', '34', '24', '29', '41', '23', '56', '38', '33', '30', '56', '55', '6', '35', '47', '18', '28', '28', '49', '25', '40', '46', '55', '40', '55', '15', '29', '29', '46', '43', '10', '37', '12', '14', '54', '29', '42', '19', '35', '16', '29', '50', '52', '43', '7', '16', '29', '26', '26', '25', '48', '18', '10', '33', '34', '45', '38', '23', '53', '7', '36', '42', '13', '18', '27', '33', '8', '49', '26', '29', '10', '56', '34', '33', '40', '13', '53', '6', '22', '50', '43', '30', '19', '32', '49', '15', '16', '9', '48', '40', '12', '14', '36', '52')
obj2_spis
['Снегура', 'Ефремов', 'Туровец', 'Хатюхин', 'Шабатов']

Проверяется на совпадение новых объектов с исходными и выводится соответствующее сообщение.

obj1 == str_kor
True
obj2_spis == fam
True

Разделяется кортеж на совокупности по 5 чисел в каждой и они записываются в виде отдельных списков со своими именами.

List = []
for i in range(0, 125, 5):
    List.append(list(str_kor[i:i + 5]))

    
List
[['6', '28', '55', '50', '53'], ['16', '9', '47', '24', '34'], ['49', '8', '42', '9', '17'], ['15', '35', '23', '21', '19'], ['8', '8', '6', '26', '34'], ['26', '55', '8', '56', '24'], ['40', '20', '34', '24', '29'], ['41', '23', '56', '38', '33'], ['30', '56', '55', '6', '35'], ['47', '18', '28', '28', '49'], ['25', '40', '46', '55', '40'], ['55', '15', '29', '29', '46'], ['43', '10', '37', '12', '14'], ['54', '29', '42', '19', '35'], ['16', '29', '50', '52', '43'], ['7', '16', '29', '26', '26'], ['25', '48', '18', '10', '33'], ['34', '45', '38', '23', '53'], ['7', '36', '42', '13', '18'], ['27', '33', '8', '49', '26'], ['29', '10', '56', '34', '33'], ['40', '13', '53', '6', '22'], ['50', '43', '30', '19', '32'], ['49', '15', '16', '9', '48'], ['40', '12', '14', '36', '52']]
for i in range(25):
    list_name = f"list{i + 1}"  #Создается имя переменной (list1, list2,..)
    globals()[list_name] = List[i]

    
list1
['6', '28', '55', '50', '53']
list2
['16', '9', '47', '24', '34']