diff --git a/TEMA6/Task6.md b/TEMA6/Task6.md new file mode 100644 index 0000000..0a152d0 --- /dev/null +++ b/TEMA6/Task6.md @@ -0,0 +1,135 @@ +# Общее контрольное задание по теме 6 +Зеленкина Ксения, А-02-23 + +## Задание + +Создаётся объект-кортеж со 125 целыми случайными числами из диапазона от 6 до 56, представленными в виде символьных строк. + +#### Решение +_Код:_ +```py +import random +num = list(range(1, 126, 1)) +tup = () +for i in num: + tup = tuple(tup + (random.randint(6, 56),)) +str_tup = tuple(map(str, tup)) +print(str_tup) +``` + +_Вывод:_ +```py +('49', '46', '53', '24', '54', '8', '47', '48', '43', '43', '9', '8', '43', '14', '39', '17', '49', '47', '34', '18', '37', '39', '17', '30', '9', '19', '56', '8', '15', '36', '31', '52', '20', '26', '40', '15', '14', '29', '37', '48', '55', '16', '36', '34', '53', '10', '26', '37', '10', '53', '48', '49', '33', '38', '44', '33', '23', '18', '54', '8', '19', '42', '49', '18', '8', '22', '16', '9', '14', '54', '29', '9', '52', '55', '13', '27', '13', '46', '29', '13', '11', '37', '20', '21', '24', '27', '53', '39', '25', '40', '20', '33', '15', '24', '33', '18', '40', '35', '11', '52', '44', '10', '53', '29', '35', '42', '8', '42', '18', '19', '6', '55', '23', '34', '49', '46', '10', '20', '46', '26', '43', '25', '43', '29', '12') +``` + +## Задание +Создаётся объект-список с вашей фамилией и 4 фамилиями ваших одноклассников. + +#### Решение +_Код:_ +```py +surname = ["Зеленкина", "Криви", "Капитонов", "Хатюхин", "Шабатов"] +print("Создан список фамилий:", surname) +``` +_Вывод:_ +```py +Создан список фамилий: ['Зеленкина', 'Криви', 'Капитонов', 'Хатюхин', 'Шабатов'] +``` + +## Задание +Записывается кортеж в бинарный файл. + +#### Решение +_Код:_ +```py +f = open('bin.mnz', 'wb') +``` + +## Задание +Записывается в этот же файл список и закрывается файл. + +#### Решение +_Код:_ +```py +pickle.dump(str_tup, f) +pickle.dump(surname, f) +f.close() +``` + + +## Задание +Открывается этот файл для чтения и считывает из него данные в 2 новых объекта. + +#### Решение +_Код:_ +```py +f = open('bin.mnz', 'rb') +obj1 = pickle.load(f) +obj2_spis = pickle.load(f) +f.close() +print("Прочитан кортеж:", obj1) +print("Прочитан список:", obj2_spis) +``` +_Вывод:_ +```py +Прочитан кортеж: ('49', '46', '53', '24', '54', '8', '47', '48', '43', '43', '9', '8', '43', '14', '39', '17', '49', '47', '34', '18', '37', '39', '17', '30', '9', '19', '56', '8', '15', '36', '31', '52', '20', '26', '40', '15', '14', '29', '37', '48', '55', '16', '36', '34', '53', '10', '26', '37', '10', '53', '48', '49', '33', '38', '44', '33', '23', '18', '54', '8', '19', '42', '49', '18', '8', '22', '16', '9', '14', '54', '29', '9', '52', '55', '13', '27', '13', '46', '29', '13', '11', '37', '20', '21', '24', '27', '53', '39', '25', '40', '20', '33', '15', '24', '33', '18', '40', '35', '11', '52', '44', '10', '53', '29', '35', '42', '8', '42', '18', '19', '6', '55', '23', '34', '49', '46', '10', '20', '46', '26', '43', '25', '43', '29', '12') +Прочитан список: ['Зеленкина', 'Криви', 'Капитонов', 'Хатюхин', 'Шабатов'] +``` + +## Задание +Проверяется на совпадение новых объектов с исходными и выводится соответствующее сообщение. + +#### Решение +_Код:_ +```py +if obj1 == str_tup and obj2_spis == surname: + print("Объекты совпадают с исходными!") +else: + print("Объекты не совпадают с исходными!") +``` +_Вывод:_ +```py +Объекты совпадают с исходными! +``` + +## Задание +Разделяется кортеж на совокупности по 5 чисел в каждой и они записываются в виде отдельных списков со своими именами. +#### Решение +_Код:_ +```py +l = [] +for i in range(0, 125, 5): + l.append(list(str_tup[i:i + 5])) +for i in range(25): + list_name = f"list{i + 1}" + globals()[list_name] = l[i] + print(f"{list_name} = {l[i]}") +``` +_Вывод:_ +```py +list1 = ['49', '46', '53', '24', '54'] +list2 = ['8', '47', '48', '43', '43'] +list3 = ['9', '8', '43', '14', '39'] +list4 = ['17', '49', '47', '34', '18'] +list5 = ['37', '39', '17', '30', '9'] +list6 = ['19', '56', '8', '15', '36'] +list7 = ['31', '52', '20', '26', '40'] +list8 = ['15', '14', '29', '37', '48'] +list9 = ['55', '16', '36', '34', '53'] +list10 = ['10', '26', '37', '10', '53'] +list11 = ['48', '49', '33', '38', '44'] +list12 = ['33', '23', '18', '54', '8'] +list13 = ['19', '42', '49', '18', '8'] +list14 = ['22', '16', '9', '14', '54'] +list15 = ['29', '9', '52', '55', '13'] +list16 = ['27', '13', '46', '29', '13'] +list17 = ['11', '37', '20', '21', '24'] +list18 = ['27', '53', '39', '25', '40'] +list19 = ['20', '33', '15', '24', '33'] +list20 = ['18', '40', '35', '11', '52'] +list21 = ['44', '10', '53', '29', '35'] +list22 = ['42', '8', '42', '18', '19'] +list23 = ['6', '55', '23', '34', '49'] +list24 = ['46', '10', '20', '46', '26'] +list25 = ['43', '25', '43', '29', '12'] +``` \ No newline at end of file diff --git a/TEMA6/Task6.py b/TEMA6/Task6.py new file mode 100644 index 0000000..2c3d8fb --- /dev/null +++ b/TEMA6/Task6.py @@ -0,0 +1,37 @@ +import random +import os +import pickle + +num = list(range(1, 126, 1)) +tup = () +for i in num: + tup = tuple(tup + (random.randint(6, 56),)) +str_tup = tuple(map(str, tup)) +print(str_tup) +surname = ["Зеленкина", "Криви", "Капитонов", "Хатюхин", "Шабатов"] +print("Создан список фамилий:", surname) + +f = open('bin.mnz', 'wb') +pickle.dump(str_tup, f) +pickle.dump(surname, f) +f.close() + +f = open('bin.mnz', 'rb') +obj1 = pickle.load(f) +obj2_spis = pickle.load(f) +f.close() +print("Прочитан кортеж:", obj1) +print("Прочитан список:", obj2_spis) + +if obj1 == str_tup and obj2_spis == surname: + print("Объекты совпадают с исходными!") +else: + print("Объекты не совпадают с исходными!") + +l = [] +for i in range(0, 125, 5): + l.append(list(str_tup[i:i + 5])) +for i in range(25): + list_name = f"list{i + 1}" + globals()[list_name] = l[i] + print(f"{list_name} = {l[i]}")