main
KhodiukMR 2 дней назад
Родитель ad8a2ddc29
Сommit 3eb02a9a1b

@ -1,87 +1,87 @@
# Общее контрольное задание по Теме 6 # Общее контрольное задание по Теме 6
Ходюк Максим Романович А-01-23 Ходюк Максим Романович А-01-23
## Задание ## Задание
• Создаётся объект-кортеж со 125 целыми случайными числами из диапазона от 6 до 56, представленными в виде символьных строк. • Создаётся объект-кортеж со 125 целыми случайными числами из диапазона от 6 до 56, представленными в виде символьных строк.
• Создаётся объект-список с вашей фамилией и 4 фамилиями ваших одноклассников. • Создаётся объект-список с вашей фамилией и 4 фамилиями ваших одноклассников.
• Записывается кортеж в бинарный файл. • Записывается кортеж в бинарный файл.
• Записывается в этот же файл список и закрывается файл. • Записывается в этот же файл список и закрывается файл.
• Открывается этот файл для чтения и считывает из него данные в 2 новых объекта. • Открывается этот файл для чтения и считывает из него данные в 2 новых объекта.
• Проверяется на совпадение новых объектов с исходными и выводится соответствующее сообщение. • Проверяется на совпадение новых объектов с исходными и выводится соответствующее сообщение.
• Разделяется кортеж на совокупности по 5 чисел в каждой и они записываются в виде отдельных списков со своими именами. • Разделяется кортеж на совокупности по 5 чисел в каждой и они записываются в виде отдельных списков со своими именами.
### Выполнение ### Выполнение
Скрипт для выполнения OKZ в файле [TaskCode.py](TaksCode.py) Скрипт для выполнения OKZ в файле [TaskCode.py](TaksCode.py)
Создание необходимого кортежа Создание необходимого кортежа
``` ```
import random as rn import random as rn
kort = [] kort = []
for i in range(125): kort.append(str(rn.choice(range(6,57)))) for i in range(125): kort.append(str(rn.choice(range(6,57))))
kort kort
['34', '35', '31', '40', '51', '53', '18', '19', '42', '51', '18', '16', '20', '56', '21', '37', '29', '19', '22', '48', '31', '47', '40', '42', '51', '28', '20', '36', '37', '33', '14', '21', '9', '24', '16', '46', '38', '15', '37', '49', '48', '21', '45', '10', '55', '7', '33', '53', '42', '31', '56', '32', '8', '53', '7', '20', '45', '52', '11', '52', '28', '18', '8', '30', '30', '17', '36', '25', '47', '44', '25', '40', '27', '18', '20', '12', '53', '30', '20', '45', '17', '12', '21', '36', '45', '32', '30', '7', '48', '36', '12', '10', '30', '19', '19', '30', '12', '42', '52', '9', '55', '44', '22', '6', '38', '27', '27', '38', '55', '41', '52', '16', '6', '16', '43', '30', '33', '18', '12', '28', '29', '29', '28', '11', '6'] ['34', '35', '31', '40', '51', '53', '18', '19', '42', '51', '18', '16', '20', '56', '21', '37', '29', '19', '22', '48', '31', '47', '40', '42', '51', '28', '20', '36', '37', '33', '14', '21', '9', '24', '16', '46', '38', '15', '37', '49', '48', '21', '45', '10', '55', '7', '33', '53', '42', '31', '56', '32', '8', '53', '7', '20', '45', '52', '11', '52', '28', '18', '8', '30', '30', '17', '36', '25', '47', '44', '25', '40', '27', '18', '20', '12', '53', '30', '20', '45', '17', '12', '21', '36', '45', '32', '30', '7', '48', '36', '12', '10', '30', '19', '19', '30', '12', '42', '52', '9', '55', '44', '22', '6', '38', '27', '27', '38', '55', '41', '52', '16', '6', '16', '43', '30', '33', '18', '12', '28', '29', '29', '28', '11', '6']
kort = tuple(kort) kort = tuple(kort)
kort kort
('34', '35', '31', '40', '51', '53', '18', '19', '42', '51', '18', '16', '20', '56', '21', '37', '29', '19', '22', '48', '31', '47', '40', '42', '51', '28', '20', '36', '37', '33', '14', '21', '9', '24', '16', '46', '38', '15', '37', '49', '48', '21', '45', '10', '55', '7', '33', '53', '42', '31', '56', '32', '8', '53', '7', '20', '45', '52', '11', '52', '28', '18', '8', '30', '30', '17', '36', '25', '47', '44', '25', '40', '27', '18', '20', '12', '53', '30', '20', '45', '17', '12', '21', '36', '45', '32', '30', '7', '48', '36', '12', '10', '30', '19', '19', '30', '12', '42', '52', '9', '55', '44', '22', '6', '38', '27', '27', '38', '55', '41', '52', '16', '6', '16', '43', '30', '33', '18', '12', '28', '29', '29', '28', '11', '6') ('34', '35', '31', '40', '51', '53', '18', '19', '42', '51', '18', '16', '20', '56', '21', '37', '29', '19', '22', '48', '31', '47', '40', '42', '51', '28', '20', '36', '37', '33', '14', '21', '9', '24', '16', '46', '38', '15', '37', '49', '48', '21', '45', '10', '55', '7', '33', '53', '42', '31', '56', '32', '8', '53', '7', '20', '45', '52', '11', '52', '28', '18', '8', '30', '30', '17', '36', '25', '47', '44', '25', '40', '27', '18', '20', '12', '53', '30', '20', '45', '17', '12', '21', '36', '45', '32', '30', '7', '48', '36', '12', '10', '30', '19', '19', '30', '12', '42', '52', '9', '55', '44', '22', '6', '38', '27', '27', '38', '55', '41', '52', '16', '6', '16', '43', '30', '33', '18', '12', '28', '29', '29', '28', '11', '6')
``` ```
Создание списка Создание списка
``` ```
spis = ['Hodyuk','Timoshenko','Kovalenko','Lykova','Ivanov'] spis = ['Hodyuk','Timoshenko','Kovalenko','Lykova','Ivanov']
``` ```
Открытие бинарного файла и запись в него кортежа и списка, после чего закрытие файла(атрибутом .closed роисходит проверка на то,удалось ли программе открыть файл) Открытие бинарного файла [TestDan.mnz](Test.Dan.mnz) и запись в него кортежа и списка, после чего закрытие файла(атрибутом .closed роисходит проверка на то,удалось ли программе открыть файл)
``` ```
fp = open('TestDan.mnz','wb') fp = open('TestDan.mnz','wb')
fp.closed fp.closed
False False
pickle.dump(kort,fp) pickle.dump(kort,fp)
pickle.dump(spis,fp) pickle.dump(spis,fp)
fp.close() fp.close()
fp.closed fp.closed
True True
``` ```
Открытие файла для чтения из него в новые объекты данных, записанных в него Открытие файла для чтения из него в новые объекты данных, записанных в него
``` ```
fp = open('TestDan.mnz','rb') fp = open('TestDan.mnz','rb')
kort1=pickle.load(fp) kort1=pickle.load(fp)
spis1=pickle.load(fp) spis1=pickle.load(fp)
kort1 kort1
('34', '35', '31', '40', '51', '53', '18', '19', '42', '51', '18', '16', '20', '56', '21', '37', '29', '19', '22', '48', '31', '47', '40', '42', '51', '28', '20', '36', '37', '33', '14', '21', '9', '24', '16', '46', '38', '15', '37', '49', '48', '21', '45', '10', '55', '7', '33', '53', '42', '31', '56', '32', '8', '53', '7', '20', '45', '52', '11', '52', '28', '18', '8', '30', '30', '17', '36', '25', '47', '44', '25', '40', '27', '18', '20', '12', '53', '30', '20', '45', '17', '12', '21', '36', '45', '32', '30', '7', '48', '36', '12', '10', '30', '19', '19', '30', '12', '42', '52', '9', '55', '44', '22', '6', '38', '27', '27', '38', '55', '41', '52', '16', '6', '16', '43', '30', '33', '18', '12', '28', '29', '29', '28', '11', '6') ('34', '35', '31', '40', '51', '53', '18', '19', '42', '51', '18', '16', '20', '56', '21', '37', '29', '19', '22', '48', '31', '47', '40', '42', '51', '28', '20', '36', '37', '33', '14', '21', '9', '24', '16', '46', '38', '15', '37', '49', '48', '21', '45', '10', '55', '7', '33', '53', '42', '31', '56', '32', '8', '53', '7', '20', '45', '52', '11', '52', '28', '18', '8', '30', '30', '17', '36', '25', '47', '44', '25', '40', '27', '18', '20', '12', '53', '30', '20', '45', '17', '12', '21', '36', '45', '32', '30', '7', '48', '36', '12', '10', '30', '19', '19', '30', '12', '42', '52', '9', '55', '44', '22', '6', '38', '27', '27', '38', '55', '41', '52', '16', '6', '16', '43', '30', '33', '18', '12', '28', '29', '29', '28', '11', '6')
spis1 spis1
['Hodyuk', 'Timoshenko', 'Kovalenko', 'Lykova', 'Ivanov'] ['Hodyuk', 'Timoshenko', 'Kovalenko', 'Lykova', 'Ivanov']
``` ```
Проверка на совпадение новых переменных с записываемыми Проверка на совпадение новых переменных с записываемыми
``` ```
if kort1==kort and spis1==spis: if kort1==kort and spis1==spis:
print("новые обьекты совпадают с теми, что были записаны в файл") print("новые обьекты совпадают с теми, что были записаны в файл")
else: else:
print("Ошибка записи или чтения") print("Ошибка записи или чтения")
``` ```
новые обьекты совпадают с теми, что были записаны в файл новые обьекты совпадают с теми, что были записаны в файл
``` ```
fp.close() fp.close()
``` ```
Разделение кортежа на совокупность списков по 5 чисел, проверка их наличия в памяти Разделение кортежа на совокупность списков по 5 чисел, проверка их наличия в памяти
``` ```
for i in range(len(kort)//5): for i in range(len(kort)//5):
exec('list' + str(i) + '=' + str(list(kort[i:i+5]))) exec('list' + str(i) + '=' + str(list(kort[i:i+5])))
list1 list1
['35', '31', '40', '51', '53'] ['35', '31', '40', '51', '53']
list0 list0
['34', '35', '31', '40', '51'] ['34', '35', '31', '40', '51']
list6 list6
['18', '19', '42', '51', '18'] ['18', '19', '42', '51', '18']
list25 list25
['28', '20', '36', '37', '33'] ['28', '20', '36', '37', '33']
``` ```

Загрузка…
Отмена
Сохранить