# Общее контрольное задание по теме 3 Степанов Артём, А-02-23 ## Задание Реализовать, записать в текстовый файл и проанализировать результаты последовательности инструкций, выполняющих следующие действия: * Преобразовать восьмеричное значение 45 в целое число. * Создать объект-словарь D со значениями {"усиление":23, "запаздывание":12, "постоянная времени":78} и затем осуществить его преобразование в два списка: ключей и значений, а затем – эти два списка преобразовать в один кортеж. Чем отличается кортеж от списка? * Напишите и выполните единое выражение, осуществляющее деление числа 1768 на 24.8 с округлением вниз, с определением после этого остатка от деления получившегося значения на 3 и затем возведения результата в степень 2.4. * Напишите и выполните единое выражение, последовательно осуществляющее следующие операции: двоичное И для чисел 13 и 27, инверсия полученного значения, двоичное исключающее ИЛИ для полученного значения и числа 14, сдвиг полученного значения на два разряда влево. * Создать список с 4 одинаковыми элементами 'колебат' и написать оператор проверки наличия комбинации символов 'аткол' в результате конкатенации второго и третьего элементов этого списка. * Определить список методов, доступных у ранее созданного словаря D. Поочередно использовать его методы keys и values, определить, что можно получить с применением этих методов. * Создать объект - символьную строку с текстом данного предложения. Из символьной строки создать список, элементами которого будут отдельные слова из созданной строки. Заменить в списке элемент «-» на «,». Удалить из списка элемент со значением «данного». Отобразить получившийся список. ## Решение ```py >>> znch = int("45", 8) >>> znch 37 >>> D = { "усиление" : 23, "запаздывание" : 12, "постоянная времени" : 78 } >>> D_keys, D_values = list(D.keys()), list(D.values()) >>> D_keys ['усиление', 'запаздывание', 'постоянная времени'] >>> D_values [23, 12, 78] >>> D_tuple = tuple(zip(D_keys, D_values)) # Кортеж, в отличие от списка, является неизменяемым объектом >>> D_tuple (('усиление', 23), ('запаздывание', 12), ('постоянная времени', 78)) >>> ((1768 // 24.8) % 3) ** 2.4 5.278031643091577 >>> (~(13 & 27) ^ 14) << 2 -32 >>> list1 = ["колебат",] * 4 >>> list1 ['колебат', 'колебат', 'колебат', 'колебат'] >>> "аткол" in list1[1] + list1[2] True >>> dir(D) ['__class__', '__class_getitem__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__ior__', '__iter__', '__le__', '__len__', '__lt__', '__ne__', '__new__', '__or__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__ror__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'clear', 'copy', 'fromkeys', 'get', 'items', 'keys', 'pop', 'popitem', 'setdefault', 'update', 'values'] >>> D.keys() dict_keys(['усиление', 'запаздывание', 'постоянная времени']) # Список ключей словаря >>> D.values() dict_values([23, 12, 78]) # Список значений словаря >>> string = "Создать объект - символьную строку с текстом данного предложения." >>> string_list = string.split(" ") >>> string_list[string_list.index("-")] = "," >>> string_list ['Создать', 'объект', ',', 'символьную', 'строку', 'с', 'текстом', 'данного', 'предложения.'] >>> string_list.remove("данного") >>> string_list ['Создать', 'объект', ',', 'символьную', 'строку', 'с', 'текстом', 'предложения.'] ```