Files
python-labs/TEMA6/task.md
2025-11-15 15:56:32 +03:00

91 строка
4.8 KiB
Markdown
Исходник Ответственный История

Этот файл содержит невидимые символы Юникода
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Общее контрольное задание по теме 6
Беженарь Алёна, А-02-23
## Задание
* Создаётся объект-кортеж со 125 целыми случайными числами из диапазона от 6 до 56, представленными в виде символьных строк.
* Создаётся объект-список с вашей фамилией и 4 фамилиями ваших одноклассников.
* Записывается кортеж в бинарный файл.
* Записывается в этот же файл список и закрывается файл.
* Открывается этот файл для чтения и считывает из него данные в 2 новых объекта.
* Проверяется на совпадение новых объектов с исходными и выводится соответствующее сообщение.
* Разделяется кортеж на совокупности по 5 чисел в каждой и они записываются в виде отдельных списков со своими именами.
## Решение
```py
>>> #1
>>> import random
>>> kort = tuple([str(random.randint(6, 56)) for i in range(125)])
>>> kort
('10', '15', '22', '35', '11', '14', '8', '22', '8', '32', '6', '47', '40', '45', '21', '36', '17', '45', '17', '14', '29', '50', '49', '26', '8', '34', '44', '51', '53', '22', '34', '47', '7', '28', '42', '28', '21', '49', '28', '50', '37', '48', '40', '40', '44', '28', '12', '24', '9', '16', '51', '13', '51', '21', '16', '52', '22', '15', '21', '8', '56', '23', '17', '23', '47', '8', '17', '53', '6', '36', '42', '56', '40', '12', '31', '52', '27', '8', '30', '51', '8', '46', '7', '23', '41', '42', '7', '44', '27', '10', '40', '48', '24', '46', '21', '54', '41', '8', '43', '29', '10', '37', '26', '48', '30', '31', '51', '32', '43', '43', '44', '17', '15', '43', '27', '39', '17', '39', '28', '53', '36', '13', '32', '30', '49')
>>> len(kort)
125
>>> #2
>>> lastnames = ["Bezhenar", "Stepanov", "Volodin", "Kireev", "Kuzmenko"]
>>> #3
>>> import os, pickle
>>> os.chdir("C:\\Users\\Дружок\\Desktop\\ПОАС\\python-labs\\TEMA6")
>>> fp = open("binary.bin", "wb")
>>> pickle.dump(kort, fp)
>>> #4
>>> pickle.dump(lastnames, fp)
>>> fp.close()
>>> #5
>>> fp = open("binary.bin", "rb")
>>> newKort = pickle.load(fp)
>>> newList = pickle.load(fp)
>>> newKort
('10', '15', '22', '35', '11', '14', '8', '22', '8', '32', '6', '47', '40', '45', '21', '36', '17', '45', '17', '14', '29', '50', '49', '26', '8', '34', '44', '51', '53', '22', '34', '47', '7', '28', '42', '28', '21', '49', '28', '50', '37', '48', '40', '40', '44', '28', '12', '24', '9', '16', '51', '13', '51', '21', '16', '52', '22', '15', '21', '8', '56', '23', '17', '23', '47', '8', '17', '53', '6', '36', '42', '56', '40', '12', '31', '52', '27', '8', '30', '51', '8', '46', '7', '23', '41', '42', '7', '44', '27', '10', '40', '48', '24', '46', '21', '54', '41', '8', '43', '29', '10', '37', '26', '48', '30', '31', '51', '32', '43', '43', '44', '17', '15', '43', '27', '39', '17', '39', '28', '53', '36', '13', '32', '30', '49')
>>> newList
['Bezhenar', 'Stepanov', 'Volodin', 'Kireev', 'Kuzmenko']
>>> fp.close()
>>> #6
>>> if (newKort == kort): print("Кортежи совпадают")
...
Кортежи совпадают
>>> if (newList == lastnames): print("Списки совпадают")
...
Списки совпадают
>>> #7
>>> for i in range(0, len(kort), 5):
... exec(f'spis{i//5} = list(kort[i:i + 5])')
>>> for i in range(len(kort) // 5):
... exec(f'print("spis" + str(i) + ":", spis{i})')
spis0: ['10', '15', '22', '35', '11']
  spis1: ['14', '8', '22', '8', '32']
    spis2: ['6', '47', '40', '45', '21']
    spis3: ['36', '17', '45', '17', '14']
    spis4: ['29', '50', '49', '26', '8']
    spis5: ['34', '44', '51', '53', '22']
    spis6: ['34', '47', '7', '28', '42']
    spis7: ['28', '21', '49', '28', '50']
    spis8: ['37', '48', '40', '40', '44']
    spis9: ['28', '12', '24', '9', '16']
    spis10: ['51', '13', '51', '21', '16']
    spis11: ['52', '22', '15', '21', '8']
    spis12: ['56', '23', '17', '23', '47']
    spis13: ['8', '17', '53', '6', '36']
    spis14: ['42', '56', '40', '12', '31']
    spis15: ['52', '27', '8', '30', '51']
    spis16: ['8', '46', '7', '23', '41']
    spis17: ['42', '7', '44', '27', '10']
    spis18: ['40', '48', '24', '46', '21']
    spis19: ['54', '41', '8', '43', '29']
    spis20: ['10', '37', '26', '48', '30']
    spis21: ['31', '51', '32', '43', '43']
    spis22: ['44', '17', '15', '43', '27']
    spis23: ['39', '17', '39', '28', '53']
    spis24: ['36', '13', '32', '30', '49']
```