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

4.7 KiB

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

import random
import pickle
import os

# Создаем кортеж
num = list(range(1, 126, 1))
kor = ()
for i in num:
    kor = kor + (random.randint(6, 56),)
print('Кортеж = ', kor, '\n')
print('Длина кортежа = ', len(kor))
str_kor = tuple(map(str, kor))

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

# Исправленный путь - используем сырую строку или двойные слеши
os.chdir(r'C:\Users\Evgeny\Desktop\python-labs\TEMA6')

# Запись в файл
f = open('bin.mnz', 'wb')
pickle.dump(str_kor, f)
pickle.dump(fam, f)
f.close()

# Чтение из файла
f = open('bin.mnz', 'rb')
obj1 = pickle.load(f)
obj2_spis = pickle.load(f)
print('Первый считанный объект', obj1)
print('Второй считанный объект', obj2_spis)

# Исправлены условия сравнения (добавлено двоеточие)
if obj1 == str_kor:
    print('Первый объект совпадает с изначальным символьным кортежем\n')
else:
    print('Первый объект НЕ совпадает с изначальным символьным кортежем\n')

if obj2_spis == fam:
    print('Второй объект совпадает с изначальным списком\n')
else:
    print('Второй объект НЕ совпадает с изначальным списком\n')

# Создание списка списков
List = []
for i in range(0, 125, 5):
    List.append(list(str_kor[i:i + 5]))   
print('Список списков =', List)

# Создание отдельных переменных для каждого списка
for i in range(25):
    list_name = f"list{i + 1}"  # Создается имя переменной (list1, list2,..)
    globals()[list_name] = List[i]

print('Список 1 = ', list1)
print('Список 2 =', list2)

Вывод:

Кортеж =  (53, 54, 24, 35, 12, 9, 48, 11, 33, 26, 40, 41, 49, 45, 6, 31, 43, 11, 32, 50, 34, 14, 52, 11, 31, 39, 20, 54, 35, 47, 15, 17, 17, 29, 22, 47, 32, 54, 10, 6, 24, 23, 54, 29, 13, 16, 44, 53, 17, 41, 51, 21, 26, 12, 33, 11, 8, 37, 41, 16, 12, 44, 7, 54, 10, 45, 31, 9, 18, 13, 52, 31, 52, 41, 46, 24, 35, 44, 28, 31, 22, 52, 20, 30, 28, 8, 52, 56, 36, 15, 24, 45, 41, 35, 26, 37, 35, 54, 43, 18, 39, 9, 10, 48, 13, 31, 37, 35, 48, 14, 32, 27, 18, 30, 32, 50, 24, 34, 15, 46, 45, 54, 38, 12, 52) 

Длина кортежа =  125
Первый считанный объект ('53', '54', '24', '35', '12', '9', '48', '11', '33', '26', '40', '41', '49', '45', '6', '31', '43', '11', '32', '50', '34', '14', '52', '11', '31', '39', '20', '54', '35', '47', '15', '17', '17', '29', '22', '47', '32', '54', '10', '6', '24', '23', '54', '29', '13', '16', '44', '53', '17', '41', '51', '21', '26', '12', '33', '11', '8', '37', '41', '16', '12', '44', '7', '54', '10', '45', '31', '9', '18', '13', '52', '31', '52', '41', '46', '24', '35', '44', '28', '31', '22', '52', '20', '30', '28', '8', '52', '56', '36', '15', '24', '45', '41', '35', '26', '37', '35', '54', '43', '18', '39', '9', '10', '48', '13', '31', '37', '35', '48', '14', '32', '27', '18', '30', '32', '50', '24', '34', '15', '46', '45', '54', '38', '12', '52')
Второй считанный объект ['Туровец', 'Снегура', 'Ефремов', 'Хатюхин', 'Шабатов']
Первый объект совпадает с изначальным символьным кортежем

Второй объект совпадает с изначальным списком

Список списков = [['53', '54', '24', '35', '12'], ['9', '48', '11', '33', '26'], ['40', '41', '49', '45', '6'], ['31', '43', '11', '32', '50'], ['34', '14', '52', '11', '31'], ['39', '20', '54', '35', '47'], ['15', '17', '17', '29', '22'], ['47', '32', '54', '10', '6'], ['24', '23', '54', '29', '13'], ['16', '44', '53', '17', '41'], ['51', '21', '26', '12', '33'], ['11', '8', '37', '41', '16'], ['12', '44', '7', '54', '10'], ['45', '31', '9', '18', '13'], ['52', '31', '52', '41', '46'], ['24', '35', '44', '28', '31'], ['22', '52', '20', '30', '28'], ['8', '52', '56', '36', '15'], ['24', '45', '41', '35', '26'], ['37', '35', '54', '43', '18'], ['39', '9', '10', '48', '13'], ['31', '37', '35', '48', '14'], ['32', '27', '18', '30', '32'], ['50', '24', '34', '15', '46'], ['45', '54', '38', '12', '52']]
Список 1 =  ['53', '54', '24', '35', '12']
Список 2 = ['9', '48', '11', '33', '26']