From eddc271555c3008fd50c19bffb2afde68ab8d6b9 Mon Sep 17 00:00:00 2001 From: "FilippovDY (FilippovDY)" Date: Sun, 14 Sep 2025 22:25:20 +0300 Subject: [PATCH] Tema2/task.md --- TEMA2/report.md | 82 ++++++++++++++++++++++++------------------------- TEMA2/task.md | 8 +++++ 2 files changed, 49 insertions(+), 41 deletions(-) diff --git a/TEMA2/report.md b/TEMA2/report.md index 6cde050..95b6426 100644 --- a/TEMA2/report.md +++ b/TEMA2/report.md @@ -3,8 +3,8 @@ Филиппов Даниил Юрьевич, А-01-23 # 1. Запуск оболочки IDLE и установка рабочего каталога - >>>import os - >>>os.chdir('C:\\Users\\danii\\Desktop\\FilippovDY\\python-labs\\TEMA2\\') + >>> import os + >>> os.chdir('C:\\Users\\danii\\Desktop\\FilippovDY\\python-labs\\TEMA2\\') # 2. Изучение простых объектов. Операции присваивания значения объектам-переменным Операция присваивания @@ -22,7 +22,7 @@ Какие объекты существуют в данный момент в среде: >>> dir() - ['__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'f1', 'f2', 'os'] + ['__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'f1', 'f2', 'os'] Получение списка атрибутов любого объекта, например f1: @@ -31,13 +31,13 @@ Определение классовой принадлежности объекта - >>>type(f2) + >>> type(f2) Удаление объекта из оперативной памяти: - >>>del f1,f2 - >>>dir() + >>> del f1,f2 + >>> dir() ['__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'os'] @@ -78,29 +78,29 @@ Взятие модуля: - >>>abs(-6) + >>> abs(-6) 6 Длина списка: - >>>len([1, 2, 3]) + >>> len([1, 2, 3]) 3 Выбор максимального и минимального значения: - >>>max(5, 15) + >>> max(5, 15) 15 - >>>min (15, 12) + >>> min (15, 12) 12 Возведение в степень: - >>>pow (5, 2) + >>> pow (5, 2) 25 Округление до целого: - >>>round (3,1514) + >>> round (3,1514) 3 Сортировка по возрастанию (можно применить reverse = True для сортировки по убыванию): @@ -112,7 +112,7 @@ Суммирование: - >>>sum ([7, 3, 5]) + >>> sum ([7, 3, 5]) 15 Объединение объектов в кортеж (возвращается указатель на участок памяти): @@ -205,11 +205,11 @@ 'р' >>> ss1[-2] #А это – символ «о» (при знаке «-»(минус) отсчет от конца строки) 'о' - >>>ss1[6:9] #Это часть строки – символы с 6-го индекса по 8-й (9-й не включается!) + >>> ss1[6:9] #Это часть строки – символы с 6-го индекса по 8-й (9-й не включается!) 'стр' - >>>ss1[13:] #Это часть строки – с 13-го индекса и до конца + >>> ss1[13:] #Это часть строки – с 13-го индекса и до конца 'символов' - >>>ss1[:13] #Это часть строки – с начала и до 12-го индекса включительно + >>> ss1[:13] #Это часть строки – с начала и до 12-го индекса включительно 'Это - строка ' >>> ss1[5:-8] #Это часть строки – с 5-го индекса и до 8-го от конца ' строка ' @@ -227,7 +227,7 @@ Строка является неизменяемым объектом - >>>ss1[4]='=' # Будет диагностика! + >>> ss1[4]='=' # Будет диагностика! TypeError: 'str' object does not support item assignment Однако, можно переопределить строку @@ -270,42 +270,42 @@ (5-9j) >>> stup[-8::2] [0, 1, 1, 1] - >>>spis1[1]='Список' - >>>spis1 + >>> spis1[1]='Список' + >>> spis1 [111, 'Список', (5-9j)] Текущее число элементов - >>>len(spis1) + >>> len(spis1) 3 С помощью методов объектов-списков можно добавлять и удалять элементы: - >>>help(spis1.append) + >>> help(spis1.append) Help on built-in function append: append(object, /) method of builtins.list instance Append object to the end of the list. - >>>spis1.append('New item') # В конец списка добавлен элемент «New item» - >>>spis1 + >>> spis1.append('New item') # В конец списка добавлен элемент «New item» + >>> spis1 [111, 'Список', (5-9j), 'New item'] Или по-другому конкатенация (в этой инструкции список отображается, но не сохраняется): - >>>spis1+['New item'] + >>> spis1+['New item'] [111, 'Список', (5-9j), 'New item', 'New item'] Добавление в конец списка spis1 строку ss1b: - >>>spis1.append(ss1b) - >>>spis1 + >>> spis1.append(ss1b) + >>> spis1 [111, 'Список', (5-9j), 'New item', 'Меня зовут: \n <сюда вставьте свою фамилию и инициалы>'] - >>>spis1 += ss1b - >>>spis1 + >>> spis1 += ss1b + >>> spis1 [111, 'Список', (5-9j), 'New item', 'Меня зовут: \n <сюда вставьте свою фамилию и инициалы>', 'М', 'е', 'н', 'я', ' ', 'з', 'о', 'в', 'у', 'т', ':', ' ', '\n', ' ', '<', 'с', 'ю', 'д', 'а', ' ', 'в', 'с', 'т', 'а', 'в', 'ь', 'т', 'е', ' ', 'с', 'в', 'о', 'ю', ' ', 'ф', 'а', 'м', 'и', 'л', 'и', 'ю', ' ', 'и', ' ', 'и', 'н', 'и', 'ц', 'и', 'а', 'л', 'ы', '>'] Удаление элемента из списка: - >>>spis1.pop(1) #Из списка удален элемент с индексом 1 + >>> spis1.pop(1) #Из списка удален элемент с индексом 1 'Список' Вставка элемента в определенное место по индексу: @@ -335,28 +335,28 @@ Сортировка списка без создания нового объекта: - >>>spis3=[4,-3,5,-7,10] - >>>spis3.sort(key=abs, reverse=False) - >>>spis3 + >>> spis3=[4,-3,5,-7,10] + >>> spis3.sort(key=abs, reverse=False) + >>> spis3 [-3, 4, 5, -7, 10] - >>>spis3.sort(key=abs, reverse=True) - >>>spis3 + >>> spis3.sort(key=abs, reverse=True) + >>> spis3 [10, -7, 5, 4, -3] Создание копии списка: - >>>spis4=spis3.copy() - >>>spis4 + >>> spis4=spis3.copy() + >>> spis4 [10, -7, 5, 4, -3] Подсчет количества элементов по значению: - >>>spis4.count(-7) + >>> spis4.count(-7) 1 Поиск индекса по значению: - >>>spis4.index(5) + >>> spis4.index(5) 2 @@ -420,7 +420,7 @@ Операция замены элемента в кортеже: - >>>kort1[2]=90 #Будет получена диагностика о невозможности изменения кортежа + >>> kort1[2]=90 #Будет получена диагностика о невозможности изменения кортежа TypeError: 'tuple' object does not support item assignment Создание объекта-кортежа с элементами разных типов: @@ -468,8 +468,8 @@ Создание более сложного словаря из списка с элементами-кортежами: - >>>dic4=dict([(1,['A','B','C']),(2,[4,5]),('Q','Prim'),('Stroka',ss1b)]) - >>>dic4 + >>> dic4=dict([(1,['A','B','C']),(2,[4,5]),('Q','Prim'),('Stroka',ss1b)]) + >>> dic4 {1: ['A', 'B', 'C'], 2: [4, 5], 'Q': 'Prim', 'Stroka': 'Меня зовут: \n <сюда вставьте свою фамилию и инициалы>'} Создание словаря из двух списков (одного для ключей, другой для значений): diff --git a/TEMA2/task.md b/TEMA2/task.md index 66bf153..c2d58da 100644 --- a/TEMA2/task.md +++ b/TEMA2/task.md @@ -26,14 +26,17 @@ ## Решение 1. Создаю переменную familia: + >>> familia='Filippov' 2. Создаю переменную, которая равна первой букве familia: + >>> first=familia[0] >>> first 'F' 3. Создаю переменную с именем sp_kw, значение – списк всех ключевых слов Python: + >>> import keyword >>> sp_kw=keyword.kwlist >>> sp_kw @@ -42,25 +45,30 @@ 4. Удаляю из списка sp_kw значение 'nonlocal', затем убедился, что это значение удалено из списка. + >>> sp_kw.remove('nonlocal') >>> 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'] 5. Создаю кортеж kort_nam с моим и еще 3-х студентов из группы именами. Проверяю, что тип переменной – это tuple. + >>> kort_nam=('Daniil', 'Dima', 'Vanya', 'Dima') >>> type(kort_nam) 6. Добавляю в kort_nam имена двух студентов. + >>> kort_nam=kort_nam+('Dima', 'Liza') >>> kort_nam ('Daniil', 'Dima', 'Vanya', 'Dima', 'Dima', 'Liza') 7. Определяю, сколько раз в кортеже присутствуют студенты с именем «Дима». + >>> kort_nam.count('Dima') 3 8. Создаю словарь dict_bas, в котором ключами являются русские названия типов переменных, использованных в предыдущих операторах, а значениями – ранее созданные перемен-ные, соответствующие этим типам. + >>> dict_bas={"строка" : familia, "символ" : first, "список" : sp_kw, "кортеж" : kort_nam} >>> dict_bas {'строка': 'Filippov', 'символ': 'F', 'список': ['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'], 'кортеж': ('Daniil', 'Dima', 'Vanya', 'Dima', 'Dima', 'Liza')}