diff --git a/TEMA6/task.md b/TEMA6/task.md index ac27569..cc755a2 100644 --- a/TEMA6/task.md +++ b/TEMA6/task.md @@ -1,87 +1,87 @@ -# Общее контрольное задание по Теме 6 -Ходюк Максим Романович А-01-23 -## Задание -• Создаётся объект-кортеж со 125 целыми случайными числами из диапазона от 6 до 56, представленными в виде символьных строк. - -• Создаётся объект-список с вашей фамилией и 4 фамилиями ваших одноклассников. - -• Записывается кортеж в бинарный файл. - -• Записывается в этот же файл список и закрывается файл. - -• Открывается этот файл для чтения и считывает из него данные в 2 новых объекта. - -• Проверяется на совпадение новых объектов с исходными и выводится соответствующее сообщение. - -• Разделяется кортеж на совокупности по 5 чисел в каждой и они записываются в виде отдельных списков со своими именами. - -### Выполнение - -Скрипт для выполнения OKZ в файле [TaskCode.py](TaksCode.py) - -Создание необходимого кортежа -``` -import random as rn -kort = [] -for i in range(125): kort.append(str(rn.choice(range(6,57)))) - -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'] -kort = tuple(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') -``` -Создание списка -``` -spis = ['Hodyuk','Timoshenko','Kovalenko','Lykova','Ivanov'] -``` -Открытие бинарного файла и запись в него кортежа и списка, после чего закрытие файла(атрибутом .closed роисходит проверка на то,удалось ли программе открыть файл) -``` -fp = open('TestDan.mnz','wb') -fp.closed -False -pickle.dump(kort,fp) -pickle.dump(spis,fp) -fp.close() -fp.closed -True -``` -Открытие файла для чтения из него в новые объекты данных, записанных в него -``` -fp = open('TestDan.mnz','rb') -kort1=pickle.load(fp) -spis1=pickle.load(fp) -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') -spis1 -['Hodyuk', 'Timoshenko', 'Kovalenko', 'Lykova', 'Ivanov'] -``` -Проверка на совпадение новых переменных с записываемыми -``` -if kort1==kort and spis1==spis: - print("новые обьекты совпадают с теми, что были записаны в файл") -else: - print("Ошибка записи или чтения") -``` - -новые обьекты совпадают с теми, что были записаны в файл -``` -fp.close() -``` - -Разделение кортежа на совокупность списков по 5 чисел, проверка их наличия в памяти - -``` -for i in range(len(kort)//5): - exec('list' + str(i) + '=' + str(list(kort[i:i+5]))) - - -list1 -['35', '31', '40', '51', '53'] -list0 -['34', '35', '31', '40', '51'] -list6 -['18', '19', '42', '51', '18'] -list25 -['28', '20', '36', '37', '33'] -``` +# Общее контрольное задание по Теме 6 +Ходюк Максим Романович А-01-23 +## Задание +• Создаётся объект-кортеж со 125 целыми случайными числами из диапазона от 6 до 56, представленными в виде символьных строк. + +• Создаётся объект-список с вашей фамилией и 4 фамилиями ваших одноклассников. + +• Записывается кортеж в бинарный файл. + +• Записывается в этот же файл список и закрывается файл. + +• Открывается этот файл для чтения и считывает из него данные в 2 новых объекта. + +• Проверяется на совпадение новых объектов с исходными и выводится соответствующее сообщение. + +• Разделяется кортеж на совокупности по 5 чисел в каждой и они записываются в виде отдельных списков со своими именами. + +### Выполнение + +Скрипт для выполнения OKZ в файле [TaskCode.py](TaksCode.py) + +Создание необходимого кортежа +``` +import random as rn +kort = [] +for i in range(125): kort.append(str(rn.choice(range(6,57)))) + +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'] +kort = tuple(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') +``` +Создание списка +``` +spis = ['Hodyuk','Timoshenko','Kovalenko','Lykova','Ivanov'] +``` +Открытие бинарного файла [TestDan.mnz](Test.Dan.mnz) и запись в него кортежа и списка, после чего закрытие файла(атрибутом .closed роисходит проверка на то,удалось ли программе открыть файл) +``` +fp = open('TestDan.mnz','wb') +fp.closed +False +pickle.dump(kort,fp) +pickle.dump(spis,fp) +fp.close() +fp.closed +True +``` +Открытие файла для чтения из него в новые объекты данных, записанных в него +``` +fp = open('TestDan.mnz','rb') +kort1=pickle.load(fp) +spis1=pickle.load(fp) +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') +spis1 +['Hodyuk', 'Timoshenko', 'Kovalenko', 'Lykova', 'Ivanov'] +``` +Проверка на совпадение новых переменных с записываемыми +``` +if kort1==kort and spis1==spis: + print("новые обьекты совпадают с теми, что были записаны в файл") +else: + print("Ошибка записи или чтения") +``` + +новые обьекты совпадают с теми, что были записаны в файл +``` +fp.close() +``` + +Разделение кортежа на совокупность списков по 5 чисел, проверка их наличия в памяти + +``` +for i in range(len(kort)//5): + exec('list' + str(i) + '=' + str(list(kort[i:i+5]))) + + +list1 +['35', '31', '40', '51', '53'] +list0 +['34', '35', '31', '40', '51'] +list6 +['18', '19', '42', '51', '18'] +list25 +['28', '20', '36', '37', '33'] +```