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

6.1 KiB

Общее контрольное задание

Зеленкина Катерина, А-02-23

Задание

Придумайте инструкции и запишите их в файл с расширением .py , которые выполняют следующие операции:

  1. Создаётся объект-кортеж со 125 целыми случайными числами из диапазона от 6 до 56, представленными в виде символьных строк.
  2. Создаётся объект-список с вашей фамилией и 4 фамилиями ваших одноклассников.
  3. Записывается кортеж в бинарный файл.
  4. Записывается в этот же файл список и закрывается файл.
  5. Открывается этот файл для чтения и считывает из него данные в 2 новых объекта.
  6. Проверяется на совпадение новых объектов с исходными и выводится соответствующее со-общение.
  7. Разделяется кортеж на совокупности по 5 чисел в каждой и они записываются в виде от-дельных списков со своими именами.

Решение

# Создаётся объект-кортеж со 125 целыми случайными числами из диапазона от 6 до 56, представленными в виде символьных строк.
import random
tp = tuple(random.randint(6, 56) for i in range(125))
str_tp = tuple(map(str, tp))
print(str_tp)

# Создаётся объект-список с вашей фамилией и 4 фамилиями ваших одноклассни
surname = ["Криви", "Киреев", "Капитонов", "Ефремов", "Добровольска"]
print("Список фамилий:", surname)


# Записать кортеж в бинарный файл.
import os
import pickle
os.chdir(r"C:\Users\user\python-labs\TEMA6")
a = open('bin.mnz', 'wb')
pickle.dump(str_tup, a)

#  Записывается в этот же файл список и закрывается файл.
pickle.dump(surname, a)
a.close()

# Открывается этот файл для чтения и считывает из него данные в 2 новых объекта.
a = open('bin.mnz', 'rb')
obj1 = pickle.load(a)
obj2_spis = pickle.load(a)
a.close()
print("Прочитан кортеж:", obj1)
print("Прочитан список:", obj2_spis)

#  Проверяется на совпадение новых объектов с исходными и выводится соответствующее со-общение.
if obj1 == str_tup and obj2_spis == surname:
    print("Объекты совпадают с исходными!")
else:
    print("Объекты не совпадают с исходными!")

# Разделяется кортеж на  совокупности по 5 чисел в каждой и они записываются  в виде отдельных списков со своими именами.
l = []
for i in range(0, 125, 5):
    l.append(list(str_tup[i:i + 5]))
for i in range(25):
    print(f"list{i + 1} = {l[i]}")

#Вывод
```py
('7', '10', '54', '46', '44', '9', '32', '43', '31', '22', '8', '44', '41', '36', '40', '36', '53', '44', '51', '34', '7', '14', '33', '47', '6', '23', '36', '45', '19', '55', '8', '21', '24', '35', '24', '12', '11', '17', '12', '20', '16', '51', '29', '54', '33', '55', '45', '11', '8', '27', '27', '23', '14', '46', '8', '33', '16', '13', '31', '21', '56', '48', '56', '33', '49', '17', '25', '54', '41', '56', '53', '50', '34', '11', '18', '20', '40', '7', '20', '53', '45', '48', '41', '22', '25', '31', '35', '13', '38', '40', '43', '18', '19', '6', '52', '35', '47', '8', '9', '33', '44', '16', '56', '10', '44', '8', '49', '49', '39', '31', '35', '16', '13', '18', '40', '54', '35', '29', '14', '38', '32', '6', '31', '10', '46')
Список фамилий: ['Криви', 'Киреев', 'Капитонов', 'Ефремов', 'Добровольска']
Прочитан кортеж: ('7', '10', '54', '46', '44', '9', '32', '43', '31', '22', '8', '44', '41', '36', '40', '36', '53', '44', '51', '34', '7', '14', '33', '47', '6', '23', '36', '45', '19', '55', '8', '21', '24', '35', '24', '12', '11', '17', '12', '20', '16', '51', '29', '54', '33', '55', '45', '11', '8', '27', '27', '23', '14', '46', '8', '33', '16', '13', '31', '21', '56', '48', '56', '33', '49', '17', '25', '54', '41', '56', '53', '50', '34', '11', '18', '20', '40', '7', '20', '53', '45', '48', '41', '22', '25', '31', '35', '13', '38', '40', '43', '18', '19', '6', '52', '35', '47', '8', '9', '33', '44', '16', '56', '10', '44', '8', '49', '49', '39', '31', '35', '16', '13', '18', '40', '54', '35', '29', '14', '38', '32', '6', '31', '10', '46')
Прочитан список: ['Криви', 'Киреев', 'Капитонов', 'Ефремов', 'Добровольска']
Объекты совпадают с исходными!
list1 = ['7', '10', '54', '46', '44']
list2 = ['9', '32', '43', '31', '22']
list3 = ['8', '44', '41', '36', '40']
list4 = ['36', '53', '44', '51', '34']
list5 = ['7', '14', '33', '47', '6']
list6 = ['23', '36', '45', '19', '55']
list7 = ['8', '21', '24', '35', '24']
list8 = ['12', '11', '17', '12', '20']
list9 = ['16', '51', '29', '54', '33']
list10 = ['55', '45', '11', '8', '27']
list11 = ['27', '23', '14', '46', '8']
list12 = ['33', '16', '13', '31', '21']
list13 = ['56', '48', '56', '33', '49']
list14 = ['17', '25', '54', '41', '56']
list15 = ['53', '50', '34', '11', '18']
list16 = ['20', '40', '7', '20', '53']
list17 = ['45', '48', '41', '22', '25']
list18 = ['31', '35', '13', '38', '40']
list19 = ['43', '18', '19', '6', '52']
list20 = ['35', '47', '8', '9', '33']
list21 = ['44', '16', '56', '10', '44']
list22 = ['8', '49', '49', '39', '31']
list23 = ['35', '16', '13', '18', '40']
list24 = ['54', '35', '29', '14', '38']
list25 = ['32', '6', '31', '10', '46']