diff --git a/TEMA3/test.md b/TEMA3/test.md new file mode 100644 index 0000000..a272caa --- /dev/null +++ b/TEMA3/test.md @@ -0,0 +1,102 @@ + # Общее контрольное задание по Теме 3 +Филиппов Даниил Юрьевич, А-01-23 + + # Задание +Реализовать, записать в текстовый файл и проанализировать результаты последовательности инструкций, выполняющих следующие действия: + +- Преобразовать восьмеричное значение 45 в целое число. +- Создать объект-словарь D со значениями {"усиление":23, "запаздывание":12, "постоянная времени":78} и затем осуществить его преобразование в два списка: ключей и значений, а затем – эти два списка преобразовать в один кортеж. Чем отличается кортеж от списка? +- Напишите и выполните единое выражение, осуществляющее деление числа 1768 на 24.8 с округлением вниз, с определением после этого остатка от деления получившегося значения на 3 и затем возведения результата в степень 2.4. +- Напишите и выполните единое выражение, последовательно осуществляющее следующие операции: двоичное И для чисел 13 и 27, инверсия полученного значения, двоичное исключающее ИЛИ для полученного значения и числа 14, сдвиг полученного значения на два разряда влево. +- Создать список с 4 одинаковыми элементами 'колебат' и написать оператор проверки наличия комбинации символов 'аткол' в результате конкатенации второго и третьего элементов этого списка. +- Определить список методов, доступных у ранее созданного словаря D. Поочередно использовать его методы keys и values, определить, что можно получить с применением этих методов. +- Создать объект - символьную строку с текстом данного предложения. Из символьной строки создать список, элементами которого будут отдельные слова из созданной строки. Заменить в списке элемент «-» на «,». Удалить из списка элемент со значением «данного». Отобразить получившийся список. + + # Решение +1. Преобразование восьмеричного значения в целое число +```py +>>> h=int('45',8) +>>> h +37 +``` +2. Создание объекта-словаря с данными значениями и осуществление его преобразования в два списка (ключей и значений), затем преобразование списков в кортеж +```py +>>> D={"усиление":23, "запаздывание":12, "постоянная времени":78} +>>> D +{'усиление': 23, 'запаздывание': 12, 'постоянная времени': 78} + +>>> spis1=list(D) # Преобразование словаря в список ключей +>>> spis1 +['усиление', 'запаздывание', 'постоянная времени'] + +>>> spis2=list(D.values()) # Преобразование словаря в список значений +>>> spis2 +[23, 12, 78] + +>>> kort1=tuple(spis1) # Преобразование списка в кортеж +>>> kort1 +('усиление', 'запаздывание', 'постоянная времени') + +>>> kort2=tuple(spis2) # Преобразование другого списка в кортеж +>>> kort2 +(23, 12, 78) + +>>> kort=kort1+kort2 # Создание кортежа из двух кортежей +>>> kort # Список отличается от кортежа тем, что список изменяем, а кортеж нет. +('усиление', 'запаздывание', 'постоянная времени', 23, 12, 78) +``` + +3. Написание и выполнение единого выражения, осуществляющее деление числа 1768 на 24.8 с округлением вниз с определением после этого остатка от деления получившегося значения на 3 и затем возведения результата в степень 2.4 +```py +>>> ((1768//24.8)%3)**2.4 +5.278031643091577 +``` + +4. Написание и выполнение единого выражения, последовательно осуществляющее следующие операции: двоичное И для чисел 13 и 27, инверсия полученного значения, двоичное исключающее ИЛИ для полученного значения и числа 14, сдвиг полученного значения на два разряда влево. +```py +>>> (~(13&27)^14)<<2 +-32 +``` + +5. Создание списка с 4 одинаковыми элементами 'колебат' и написание оператора проверки наличия комбинации символов 'аткол' в результате конкатенации второго и третьего элементов этого списка +```py +>>> spis3=['колебат']*4 +>>> spis3 +['колебат', 'колебат', 'колебат', 'колебат'] +>>> 'аткол' in spis3[1]+spis3[2] +True +``` + +6. Определение списка методов, доступных у ранее созданного словаря D. Поочередное использование его методов keys и values, определение, что можно получить с применением этих методов. +```py +>>> 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]) +``` + +7. Создание объекта - символьной строки с текстом данного предложения. Из символьной строки создание списка, элементами которого будут отдельные слова из созданной строки. Замена в списке элемента «-» на «,». Удаление из списка элемента со значением «данного». Отображение получившегося списка. +```py +>>> strk='Создать объект - символьную строку с текстом данного предложения.' +>>> strk +'Создать объект - символьную строку с текстом данного предложения.' +>>> spis=strk.split() +>>> spis +['Создать', 'объект', '-', 'символьную', 'строку', 'с', 'текстом', 'данного', 'предложения.'] +>>> spis.pop(2) # Удаление элемента с индексом 2 +'-' +>>> spis.insert(2,',') # Вставка элемента в заданный индекс списка +>>> spis +['Создать', 'объект', ',', 'символьную', 'строку', 'с', 'текстом', 'данного', 'предложения.'] +>>> spis.remove('данного') +>>> spis +['Создать', 'объект', ',', 'символьную', 'строку', 'с', 'текстом', 'предложения.'] +``` + + + +