# Общее контрольное задание по Теме 3 Таболин Иван, А-01-23 ## Задание Реализовать, записать в текстовый файл и проанализировать результаты последовательности ин-струкций, выполняющих следующие действия: • Преобразовать восьмеричное значение 45 в целое число. • Создать объект-словарь D со значениями {"усиление":23, "запаздывание":12, "постоянная време-ни":78} и затем осуществить его преобразование в два списка: ключей и значений, а затем – эти два списка преобразовать в один кортеж. Чем отличается кортеж от списка? • Напишите и выполните единое выражение, осуществляющее деление числа 1768 на 24.8 с округ-лением вниз, с определением после этого остатка от деления получившегося значения на 3 и затем возведения результата в степень 2.4. • Напишите и выполните единое выражение, последовательно осуществляющее следующие опера-ции: двоичное И для чисел 13 и 27, инверсия полученного значения, двоичное исключающее ИЛИ для полученного значения и числа 14, сдвиг полученного значения на два разряда влево. • Создать список с 4 одинаковыми элементами 'колебат' и написать оператор проверки наличия комбинации символов 'аткол' в результате конкатенации второго и третьего элементов этого спи-ска. • Определить список методов, доступных у ранее созданного словаря D. Поочередно использовать его методы keys и values, определить, что можно получить с применением этих методов. • Создать объект - символьную строку с текстом данного предложения. Из символьной строки соз-дать список, элементами которого будут отдельные слова из созданной строки. Заменить в списке элемент «-» на «,». Удалить из списка элемент со значением «данного». Отобразить получившийся список. ## Решение ```py import os os.chdir('C:\\Users\\User\\Desktop\\python-labs\\TEMA3') int('45',8) 37 D={"усиление":23,"запаздывание":12,"постоянная времени":78} spis_keys=list(D);spis_keys ['усиление', 'запаздывание', 'постоянная времени'] spis_znach=list(D.values());spis_znach [23, 12, 78] kort1=tuple(spis_keys) kort2=tuple(spis_znach) kort=kort1+kort2 kort ('усиление', 'запаздывание', 'постоянная времени', 23, 12, 78) ``` Кортеж отличается от списка тем, что его нельзя изменять ```py ((1768//24.8)%3)**2.4 5.278031643091577 (~(13&27)^14)<<2 -32 spis1=['колебат']*4 'аткол' in spis1[1]+spis1[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'] ``` ```py D.keys() dict_keys(['усиление', 'запаздывание', 'постоянная времени']) D.values() dict_values([23, 12, 78]) ``` С помощью `keys` можно получить ключи словаря, а с помощью `values` - значения. ```py str1='Создать объект - символьную строку с текстом данного предложения.' spis2=str1.split(); spis2 ['Создать', 'объект', '-', 'символьную', 'строку', 'с', 'текстом', 'данного', 'предложения.'] spis2[spis2.index('-')]=','; spis2 ['Создать', 'объект', ',', 'символьную', 'строку', 'с', 'текстом', 'данного', 'предложения.'] spis2.remove('данного'); spis2 ['Создать', 'объект', ',', 'символьную', 'строку', 'с', 'текстом', 'предложения.'] ```