# Общее контрольное задание по теме 2 **Антонов Дмитрий, А-03-23** ## Задание Реализовать, записать в текстовый файл и проанализировать результаты последовательности инструкций, выполняющих следующие действия 1. Создать переменную с именем familia и со значением - символьной строкой – своей фамили-ей в латинской транскрипции. 2. Создать переменную со значением, совпадающим с первой буквой из familia. 3. Создать переменную с именем sp_kw со значением – списком всей ключевых слов языка Python. 4. Удалите из списка sp_kw значение 'nonlocal'. Выводом списка в командном окне IDLE убедитесь, что это значение удалено из списка. 5. Создайте кортеж kort_nam с именами: вашим и еще 3-х студентов из вашей группы. Напишите инструкцию, позволяющую убедиться, что тип переменной – это tuple. 6. Напишите инструкцию, добавляющую в kort_nam имена еще двух студентов. 7. Напишите инструкцию, позволяющую определить, сколько раз в кортеже присутствуют студенты с именем «Дима». 8. Создайте словарь dict_bas, в котором ключами являются русские названия типов переменных, использованных в предыдущих операторах, а значениями – ранее созданные перемен-ные, соответствующие этим типам. ## Решение #### 1. Создаю переменную familia. ```py familia = 'Antonov' type(familia) ``` #### 2. Создаю переменную, которая равна первой букве familia. ```py var = 'A' var = familia[0] ``` #### 3. Создаю переменную с именем sp_kw, значение – списк всех ключевых слов Python. ```py import keyword dir(keyword) ['__all__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'iskeyword', 'issoftkeyword', 'kwlist', 'softkwlist'] ``` - Импортивал библиотеку, проверил доступные методы ```py sp_kw = keyword.kwlist type(sp_kw) ``` - Проверил тип переменной ```py print(sp_kw) ['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield'] ``` #### 4. Удаляю из списка sp_kw значение 'nonlocal', затем убедился, что это значение удалено из списка. ```py sp_kw.remove('nonlocal') print(sp_kw) ['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield'] ``` - После физической проверки дополнительно убедился в отсутствии 'nonlocal' программно ```py 'nonlocal' in sp_kw False ``` #### 5. Создаю кортеж kort_nam с моим и еще 3-х студентов из группы именами. Проверяю, что тип переменной – это tuple. ```py kort_nam = ('Дмитрий','Артем','Александр','Максим') type(kort_nam) ``` #### 6. Добавляю в kort_nam имена двух студентов. ```py kort_nam = kort_nam + ('Иван','Людмила') kort_nam ('Дмитрий', 'Артем', 'Александр', 'Максим', 'Иван', 'Людмила') ``` - Использовал переопределение, убедился в добавлении слов с помощью вывода #### 7. Определяю, сколько раз в кортеже присутствуют студенты с именем «Дима». ```py dir(kort_nam) ['__add__', '__class__', '__class_getitem__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'count', 'index'] ``` - Проверил доступные методы ```py kort_nam.count('Дима') 0 ``` #### 8. Создаю словарь dict_bas, в котором ключами являются русские названия типов переменных, использованных в предыдущих операторах, а значениями – ранее созданные перемен-ные, соответствующие этим типам. ```py dict_bas = {'строка': [familia,var],'список': sp_kw,'кортеж': kort_nam} print(dict_bas) {'строка': ['Antonov', 'A'], 'список': ['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield'], 'кортеж': ('Дмитрий', 'Артем', 'Александр', 'Максим', 'Иван', 'Людмила')} dict_bas.keys() dict_keys(['строка', 'список', 'кортеж']) dict_bas.values() dict_values([['Antonov', 'A'], ['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield'], ('Дмитрий', 'Артем', 'Александр', 'Максим', 'Иван', 'Людмила')]) ``` - Создал и вывел словарь, а также ключи и значения отдельно ```py dict_bas = dict([('строка',[familia,var]),('список',sp_kw),('кортеж',kort_nam)]) dict_bas {'строка': ['Antonov', 'A'], 'список': ['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield'], 'кортеж': ('Дмитрий', 'Артем', 'Александр', 'Максим', 'Иван', 'Людмила')} ``` - Создал словарь иным способом, затем вывел