# Выполнение модульного задания Филиппов Даниил Юрьевич, А-01-23 # Задание M1_3 1) Как можно запустить на выполнение программу, исходный код которой находится в текстовом файле? 2) Создайте объект-словарь с 6 элементами: ключи - названия звеньев в схеме регулятора ("инерционное звено1",:) (названия могут повторяться с точностью до порядкового номера), значения - список параметров соответствующего звена. Напишите инструкцию, доказывающую, что создан объект именно требуемого типа. Напишите инструкцию отображения списка атрибутов созданного объекта. 3) Напишите инструкцию, позволяющую увеличить в два раза второй параметр инерционного звена в словаре. Отобразите на экране получившийся объект. 4) Напишите инструкции, позволяющие создать список названий звеньев из словаря. Преобразуйте этот список во множество. Отобразите полученный объект. Добавьте к полученному множеству элемент "гистерезис". 5) Напишите инструкцию, позволяющую подсчитать число элементов в схеме. Удалите из словаря один из его элементов. Отобразите результат. # Выполнение ## 1. Как можно запустить на выполнение программу, исходный код которой находится в текстовом файле? Текстовый файл можно запустить несколькими способами в IDLE Python. Первый способ: открыть в меню интерактивной оболочке IDLE: File - Open - выбрать текстовый файл с кодом - Запустить модуль. Второй способ: в командном окне запустить инструкцию `import <текстовый файл с кодом>`. Третий способ: при открытом окне редактора нажать на клавишу F5. ## 2. Создание объекта-словаря с 6 элементами: ключи - названия звеньев в схеме регулятора ("инерционное звено1",:) (названия могут повторяться с точностью до порядкового номера), значения - список параметров соответствующего звена. Напишите инструкцию, доказывающую, что создан объект именно требуемого типа. Написание инструкции отображения списка атрибутов созданного объекта. ```py >>> dct1={'инерционное звено1':[5,0.5,3], 'инерционное звено2':[4,6,5], 'динамическое звено1':[7,8,10], 'интегрирующее звено1':[3,0.5,0.7], 'инерционное звено3':[5,6,2.5], 'безынерционное звено1':[2,3,2.5]} #Создание словаря >>> dct1 {'инерционное звено1': [5, 0.5, 3], 'инерционное звено2': [4, 6, 5], 'динамическое звено1': [7, 8, 10], 'интегрирующее звено1': [3, 0.5, 0.7], 'инерционное звено3': [5, 6, 2.5], 'безынерционное звено1': [2, 3, 2.5]} >>> type(dct1) #Определение типа объекта >>> dir(dct1) #Отображение списка атрибутов ['__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'] ``` ## 3. Написание инструкции, позволяющей увеличить в два раза второй параметр инерционного звена в словаре. Отображение на экране получившегося объекта. ```py >>> dct1['инерционное звено1'][1] *=2 >>> dct1 {'инерционное звено1': [5, 1.0, 3], 'инерционное звено2': [4, 6, 5], 'динамическое звено1': [7, 8, 10], 'интегрирующее звено1': [3, 0.5, 0.7], 'инерционное звено3': [5, 6, 2.5], 'безынерционное звено1': [2, 3, 2.5]} ``` ## 4. Написание инструкции, позволяющей создать список названий звеньев из словаря. Преобразование этого списка во множество. Отображение полученного объекта. Добавление к полученному множеству элемента "гистерезис". ```py >>> spis1=list(dct1) #Создание списка ключей словаря >>> spis1 ['инерционное звено1', 'инерционное звено2', 'динамическое звено1', 'интегрирующее звено1', 'инерционное звено3', 'безынерционное звено1'] >>> nmoz1=set(spis1) #Преобразование множества в список >>> nmoz1 {'интегрирующее звено1', 'инерционное звено2', 'динамическое звено1', 'безынерционное звено1', 'инерционное звено1', 'инерционное звено3'} >>> nmoz1.add('гистерезис') #Добавление к множеству нового элемента >>> nmoz1 {'гистерезис', 'интегрирующее звено1', 'инерционное звено2', 'динамическое звено1', 'безынерционное звено1', 'инерционное звено1', 'инерционное звено3'} ``` ## 5. Написание инструкции, позволяющей подсчитать число элементов в схеме. Удаление из словаря одного из его элементов. Отображение результата. ```py >>> len(dct1) 6 >>> dct1.pop('интегрирующее звено1') #Удаление ключа словаря, возвращает значения удалённого ключа [3, 0.5, 0.7] >>> dct1 {'инерционное звено1': [5, 1.0, 3], 'инерционное звено2': [4, 6, 5], 'динамическое звено1': [7, 8, 10], 'инерционное звено3': [5, 6, 2.5], 'безынерционное звено1': [2, 3, 2.5]} ```