From 2d168d932433f9df06f958b60e3723d838044183 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9F=D0=BE=D0=BB=D1=8C=D0=B7=D0=BE=D0=B2=D0=B0=D1=82?= =?UTF-8?q?=D0=B5=D0=BB=D1=8C=20=E2=84=96=207=20=D0=B0=D1=83=D0=B4=D0=B8?= =?UTF-8?q?=D1=82=D0=BE=D1=80=D0=B8=D0=B8=20=D0=96-115?= Date: Fri, 12 Sep 2025 09:50:19 +0300 Subject: [PATCH 01/12] =?UTF-8?q?=D0=BE=D1=82=D1=87=D0=B5=D1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TEMA1/report.md | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/TEMA1/report.md b/TEMA1/report.md index 6a63223..9cca3e5 100644 --- a/TEMA1/report.md +++ b/TEMA1/report.md @@ -2,34 +2,34 @@ Голощапов Дмитрий, А-01-23 -# Пункт 1 Подготовка к началу работы +# 1 Подготовка к началу работы В папку C:\Users\Дмитрий\OneDrive\Рабочий стол\Goloshchapov\python-labs\TEMA1 перенесены материалы и распакован архив Tema1.rar -# Пункт 2 Знакомство с интерпретатором +# 2 Знакомство с интерпретатором Запущен интерпретатор Python 3.10 -# Пункт 3 Введение пробных команд +# 3 Введение пробных команд - print("hello") + >>>print("hello") hello # Пункт 4 Вводим еще одну инструкцию - h = input('Your name = ') + >>>h = input('Your name = ') Your name = Dima - h + >>>h 'Dima' # Пункт 5 Завершение работы интерпретатора - exit() + >>>exit() # Пункты 6-7 @@ -38,9 +38,9 @@ # Пункт 8 Настройка рабочего каталога - import os + >>>import os - os.chdir('C:\\Users\\Дмитрий\\OneDrive\\Рабочий стол\\Goloshchapov\\python-labs\\TEMA1') + >>>os.chdir('C:\\Users\\Дмитрий\\OneDrive\\Рабочий стол\\Goloshchapov\\python-labs\\TEMA1') # Пункт 9 Настройки(Options) @@ -53,13 +53,13 @@ #Программа по теме 1 <Голощапов Дмитрий Евгеньевич> - print('Hello') + >>>print('Hello') - h=input('Your name=') + >>>h=input('Your name=') - import os + >>>import os - os.chdir('C:\\Users\\Дмитрий\\OneDrive\\Рабочий стол\\Goloshchapov\\python-labs\\TEMA1') + >>>os.chdir('C:\\Users\\Дмитрий\\OneDrive\\Рабочий стол\\Goloshchapov\\python-labs\\TEMA1') Она делает следующий вывод: @@ -71,7 +71,7 @@ Другой вариант запуска: - import Pr0 + >>>import Pr0 hello @@ -88,7 +88,7 @@ Из консоли вызван файл prb1.py - import prb1 + >>>import prb1 Как Вас зовут? Dima @@ -128,7 +128,7 @@ Turtle Demo - окно работы и помощь модуля для рабо Проверка команд: - help (print) + >>>help (print) Help on built-in function print in module builtins: @@ -141,7 +141,7 @@ Turtle Demo - окно работы и помощь модуля для рабо end: string appended after the last value, default a newline. flush: whether to forcibly flush the stream. - help(print), help(input) + >>>help(print), help(input) Help on built-in function print in module builtins: @@ -182,7 +182,7 @@ File - Open - prb1.py Как Вас зовут? Dima Привет, Dima - import tdemo_chaos + >>>import tdemo_chaos Help - Turtle Demo - clock - Start выводит на экран графическое представление программы - циферблат с часами. Есть и другие примеры программ модуля turtle, From f37ab5c2612db9baee929ffa795a9e83fef06343 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9F=D0=BE=D0=BB=D1=8C=D0=B7=D0=BE=D0=B2=D0=B0=D1=82?= =?UTF-8?q?=D0=B5=D0=BB=D1=8C=20=E2=84=96=207=20=D0=B0=D1=83=D0=B4=D0=B8?= =?UTF-8?q?=D1=82=D0=BE=D1=80=D0=B8=D0=B8=20=D0=96-115?= Date: Fri, 12 Sep 2025 09:56:29 +0300 Subject: [PATCH 02/12] =?UTF-8?q?=D0=BE=D1=82=D1=87=D0=B5=D1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TEMA1/report.md | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/TEMA1/report.md b/TEMA1/report.md index 9cca3e5..8d00280 100644 --- a/TEMA1/report.md +++ b/TEMA1/report.md @@ -17,7 +17,7 @@ hello -# Пункт 4 Вводим еще одну инструкцию +# 4 Вводим еще одну инструкцию >>>h = input('Your name = ') @@ -27,27 +27,27 @@ 'Dima' -# Пункт 5 Завершение работы интерпретатора +# 5 Завершение работы интерпретатора >>>exit() -# Пункты 6-7 +# 6-7 Запущена IDLE Python 3.10, изучено устройство главного командного окна среды -# Пункт 8 Настройка рабочего каталога +# 8 Настройка рабочего каталога >>>import os >>>os.chdir('C:\\Users\\Дмитрий\\OneDrive\\Рабочий стол\\Goloshchapov\\python-labs\\TEMA1') -# Пункт 9 Настройки(Options) +# 9 Настройки(Options) Шрифт изменен на Arial CYR, размер 11, размер начального окна 50*100 символов, комментарии подсвечиваются коричневым -# Пункт 10 Создание текстового файла IDLE +# 10 Создание текстового файла IDLE В текстовом редакторе IDLE создана программа следующего содержания: @@ -84,7 +84,7 @@ Your name = -# Пункт 11 Запуск программы из рабочего каталога +# 11 Запуск программы из рабочего каталога Из консоли вызван файл prb1.py @@ -94,7 +94,7 @@ Привет, Dima -# Пункт 12 Изучение рабочего каталога +# 12 Изучение рабочего каталога Файл Pr0.cpython-310.pyc открыт в Блокноте. @@ -110,11 +110,11 @@ преобразовывает его в байт-код (.рус), а затем уже он компилируется с помощью виртуальный машины. Это ускорит повторную загрузку программы. -# Пункт 13 Создание отдельного файла для команд и результатов их выполнения +# 13 Создание отдельного файла для команд и результатов их выполнения Все верные команды из командного окна IDLE скопированы в отдельный файл -# Пункт 14 Изучение раздела помощи (Help) главного меню. +# 14 Изучение раздела помощи (Help) главного меню. В разделе помощи help можно найти следующие опции: @@ -170,7 +170,7 @@ F1 -> Указатель -> print() (built-in function) выводит спра То же диалоговое окно появляется при help - Python Docs -# Пункт 15 Изучение перехода между окнами с помощью «Окна (Window)» +# 15 Изучение перехода между окнами с помощью «Окна (Window)» File - Open - prb1.py @@ -189,4 +189,4 @@ Help - Turtle Demo - clock - Start выводит на экран графиче которые можно брать за основу собственных программ, изменять или реализовывать свои идеи. -# Пункт 16. Завершена работа со средой: File - exit \ No newline at end of file +# 16. Завершена работа со средой: File - exit \ No newline at end of file From 5567c41c770a7014980e0c22b816519f2bea87f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9F=D0=BE=D0=BB=D1=8C=D0=B7=D0=BE=D0=B2=D0=B0=D1=82?= =?UTF-8?q?=D0=B5=D0=BB=D1=8C=20=E2=84=96=207=20=D0=B0=D1=83=D0=B4=D0=B8?= =?UTF-8?q?=D1=82=D0=BE=D1=80=D0=B8=D0=B8=20=D0=96-115?= Date: Fri, 12 Sep 2025 10:21:43 +0300 Subject: [PATCH 03/12] =?UTF-8?q?=D0=BE=D1=82=D1=87=D0=B5=D1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TEMA1/report.md | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/TEMA1/report.md b/TEMA1/report.md index 8d00280..f51cc48 100644 --- a/TEMA1/report.md +++ b/TEMA1/report.md @@ -4,8 +4,7 @@ # 1 Подготовка к началу работы -В папку C:\Users\Дмитрий\OneDrive\Рабочий стол\Goloshchapov\python-labs\TEMA1 перенесены материалы -и распакован архив Tema1.rar +На рабочем столе создана папка Goloshchapov. После этого с помощью команды git clone http://uit.mpei.ru/git/GoloshchapovDY/python-labs.git мы клонируем форк репозитария в эту папку. # 2 Знакомство с интерпретатором @@ -103,12 +102,9 @@ ЛFёhэ г  @ s& e d ѓ edѓZddlZe dЎ dS )ZHelloz Your name=й NuW C:\Users\Дмитрий\OneDrive\Рабочий стол\Goloshchapov\python-labs\TEMA1)ЪprintЪinputЪhЪosЪchdir© r r х^ C:\Users\Дмитрий\OneDrive\Рабочий стол\Goloshchapov\python-labs\TEMA1\Pr0.pyЪ s  -Видно, что рeзультат компиляции тяжел для восприятия человеком, вероятно, из-за -несоответствия кодировок. Комплиляция программ необходима, чтобы -перевести команды из человекопонятной формы в машинный код, который -может быть обработан процессором. При выполнении скрипта Python сначала -преобразовывает его в байт-код (.рус), а затем уже он компилируется с -помощью виртуальный машины. Это ускорит повторную загрузку программы. +При выполнении скрипта Python сначала +преобразовывает его в байт-код (.рус), а затем уже он выполняется с +помощью виртуальный машины. Это ускорит повторную загрузку программы, так как будет пропущен этап преобразования в байт-код, и виртуальная машина сможет напрямую выполнить байт-код. # 13 Создание отдельного файла для команд и результатов их выполнения From eecf8053bdb9d28a384d9b54c4702620f7f49108 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9F=D0=BE=D0=BB=D1=8C=D0=B7=D0=BE=D0=B2=D0=B0=D1=82?= =?UTF-8?q?=D0=B5=D0=BB=D1=8C=20=E2=84=96=207=20=D0=B0=D1=83=D0=B4=D0=B8?= =?UTF-8?q?=D1=82=D0=BE=D1=80=D0=B8=D0=B8=20=D0=96-115?= Date: Fri, 12 Sep 2025 10:36:18 +0300 Subject: [PATCH 04/12] =?UTF-8?q?=D0=BA=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TEMA1/test.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 TEMA1/test.md diff --git a/TEMA1/test.md b/TEMA1/test.md new file mode 100644 index 0000000..9dcd7cc --- /dev/null +++ b/TEMA1/test.md @@ -0,0 +1,13 @@ +# Контрольный вопрос №11 по теме 1 + +Голощапов Дмитрий, А-01-23 + +# Вопрос: + +В каком месте инструкции можно написать комментарий? + +# Ответ: + +Комментарий можно написать в любой месте строки, но он должен начинаться с символа #. +Весь текст после # до конца строки будет считаться комментарием и игнорироваться интерпретатором. +Комментарий можно разместить как на отдельной строке, так и после инструкции. \ No newline at end of file From c806a81a72f436107b2ccb51f01273b5246bfdce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9F=D0=BE=D0=BB=D1=8C=D0=B7=D0=BE=D0=B2=D0=B0=D1=82?= =?UTF-8?q?=D0=B5=D0=BB=D1=8C=20=E2=84=96=207=20=D0=B0=D1=83=D0=B4=D0=B8?= =?UTF-8?q?=D1=82=D0=BE=D1=80=D0=B8=D0=B8=20=D0=96-115?= Date: Fri, 12 Sep 2025 11:16:10 +0300 Subject: [PATCH 05/12] =?UTF-8?q?=D0=BE=D1=82=D1=87=D0=B5=D1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TEMA2/report.md | 400 ++++++++++++++++++++++++------------------------ 1 file changed, 199 insertions(+), 201 deletions(-) diff --git a/TEMA2/report.md b/TEMA2/report.md index 3a52fda..5a3ec23 100644 --- a/TEMA2/report.md +++ b/TEMA2/report.md @@ -2,195 +2,195 @@ Голощапов Дмитрий, А-01-23 -# Пункт 1 Подготовка к началу работы +# 1 Подготовка к началу работы Запуск оболочки IDLE и установка рабочего каталога - import os - os.chdir('C:\\Users\\Дмитрий\\OneDrive\\Рабочий стол\\Goloshchapov\\python-labs\\TEMA2') + >>>import os + >>>os.chdir('C:\\Users\\Дмитрий\\OneDrive\\Рабочий стол\\Goloshchapov\\python-labs\\TEMA2') -# Пункт 2. Изучение простых объектов +# 2. Изучение простых объектов Создадим два простых объекта - переменные f1 и f2. Это можно сделать в одну строку: - f1 = 16; f2 = 3 + >>>f1 = 16; f2 = 3 Можно вывести эти переменные через запятую. Тогда они будут отображены как кортеж: - f1, f2 + >>>f1, f2 (16, 3) Или через точку с запятой. Тогда друг за другом: - f1; f2 + >>>f1; f2 16 3 Функция dir() покажет, какие объекты находятся в текущем рабочем пространстве: - dir() + >>>dir() ['__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'f1', 'f2', 'os'] Еще эта функция может показать атрибуты объекта: - dir (f1) + >>>dir (f1) ['__abs__', '__add__', '__and__', '__bool__', '__ceil__', '__class__', '__delattr__', '__dir__', '__divmod__', '__doc__', '__eq__', '__float__', '__floor__', '__floordiv__', '__format__', '__ge__', '__getattribute__', '__getnewargs__', '__gt__', '__hash__', '__index__', '__init__', '__init_subclass__', '__int__', '__invert__', '__le__', '__lshift__', '__lt__', '__mod__', '__mul__', '__ne__', '__neg__', '__new__', '__or__', '__pos__', '__pow__', '__radd__', '__rand__', '__rdivmod__', '__reduce__', '__reduce_ex__', '__repr__', '__rfloordiv__', '__rlshift__', '__rmod__', '__rmul__', '__ror__', '__round__', '__rpow__', '__rrshift__', '__rshift__', '__rsub__', '__rtruediv__', '__rxor__', '__setattr__', '__sizeof__', '__str__', '__sub__', '__subclasshook__', '__truediv__', '__trunc__', '__xor__', 'as_integer_ratio', 'bit_count', 'bit_length', 'conjugate', 'denominator', 'from_bytes', 'imag', 'numerator', 'real', 'to_bytes'] Для определения классовой принадлежности любого объекта следует использовать функцию type(): - type(f2) + >>>type(f2) Удалим объекты из рабочего пространства: - del f1, f2 - dir() + >>>del f1, f2 + >>>dir() ['__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'os'] -# Пункт 3. Изучение правила именования объектов в Python. +# 3. Изучение правила именования объектов в Python. - gg1 = 1.6 - gg1 + >>>gg1 = 1.6 + >>>gg1 1.6 - hh1 = 'example' - hh1 + >>>hh1 = 'example' + >>>hh1 'example' - 73sr = 3 + >>>73sr = 3 SyntaxError: invalid decimal literal --- ошибка, т.к. имя не может начинаться с числа - and = 7 + >>>and = 7 SyntaxError: invalid syntax --- ошибка, т.к. имя не может совпадать с ключевым словом языка -# Пункт 4. Вывод списка ключевых слов с помощью инструкции +# 4. Вывод списка ключевых слов с помощью инструкции - import keyword - keyword.kwlist + >>>import keyword + >>>keyword.kwlist ['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'] Просмотрим список, сохраним его в переменной с некоторым именем.Проверим его тип. - kwd = keyword.kwlist - kwd + >>>kwd = keyword.kwlist + >>>kwd ['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'] - type(kwd) + >>>type(kwd) -# Пункт 5. Ввод списка встроенных идентификаторов с помощью инструкций +# 5. Ввод списка встроенных идентификаторов с помощью инструкций - import builtins - dir(builtins) + >>>import builtins + >>>dir(builtins) ['ArithmeticError', 'AssertionError', 'AttributeError', 'BaseException', 'BlockingIOError', 'BrokenPipeError', 'BufferError', 'BytesWarning', 'ChildProcessError', 'ConnectionAbortedError', 'ConnectionError', 'ConnectionRefusedError', 'ConnectionResetError', 'DeprecationWarning', 'EOFError', 'Ellipsis', 'EncodingWarning', 'EnvironmentError', 'Exception', 'False', 'FileExistsError', 'FileNotFoundError', 'FloatingPointError', 'FutureWarning', 'GeneratorExit', 'IOError', 'ImportError', 'ImportWarning', 'IndentationError', 'IndexError', 'InterruptedError', 'IsADirectoryError', 'KeyError', 'KeyboardInterrupt', 'LookupError', 'MemoryError', 'ModuleNotFoundError', 'NameError', 'None', 'NotADirectoryError', 'NotImplemented', 'NotImplementedError', 'OSError', 'OverflowError', 'PendingDeprecationWarning', 'PermissionError', 'ProcessLookupError', 'RecursionError', 'ReferenceError', 'ResourceWarning', 'RuntimeError', 'RuntimeWarning', 'StopAsyncIteration', 'StopIteration', 'SyntaxError', 'SyntaxWarning', 'SystemError', ' SystemExit', 'TabError', 'TimeoutError', 'True', 'TypeError', 'UnboundLocalError', 'UnicodeDecodeError', 'UnicodeEncodeError', 'UnicodeError', 'UnicodeTranslateError', 'UnicodeWarning', 'UserWarning', 'ValueError', 'Warning', 'WindowsError', 'ZeroDivisionError', '_', '__build_class__', '__debug__', '__doc__', '__import__', '__loader__', '__name__', '__package__', '__spec__', 'abs', 'aiter', 'all', 'anext', 'any', 'ascii', 'bin', 'bool', 'breakpoint', 'bytearray', 'bytes', 'callable', 'chr', 'classmethod', 'compile', 'complex', 'copyright', 'credits', 'delattr', 'dict', 'dir', 'divmod', 'enumerate', 'eval', 'exec', 'exit', 'filter', 'float', 'format', 'frozenset', 'getattr', 'globals', 'hasattr', 'hash', 'help', 'hex', 'id', 'input', 'int', 'isinstance', 'issubclass', 'iter', 'len', 'license', 'list', 'locals', 'map', 'max', 'memoryview', 'min', 'next', 'object', 'oct', 'open', 'ord', 'pow', 'print', 'property', 'quit', 'range', 'repr', 'reversed', 'round', 'set', 'setattr', 'slice', 'sorted', 'staticmethod', 'str', 'sum', 'super', 'tuple', 'type', 'vars', 'zip'] Изучим назначение функций: abs, len, max, min, pow, round, sorted, sum, zip: Взятие модуля: - abs(-5) + >>>abs(-5) 5 Длина списка: - len([1, 2, 3]) + >>>len([1, 2, 3]) 3 Выбор максимального и минимального значения: - max(14, 8) + >>>max(14, 8) 14 - min (15, 0) + >>>min (15, 0) 0 Возведение в степень: - pow (5, 2) + >>>pow (5, 2) 25 Округление до целого: - round (3,124) + >>>round (3,124) 3 Сортировка по возрастанию(можно применить reverse = True для сортировки по убыванию): - sorted ([3, 7, 9, 75, 0, -1]) + >>>sorted ([3, 7, 9, 75, 0, -1]) [-1, 0, 3, 7, 9, 75] Суммирование: - sum ([7, 3, 5]) + >>>sum ([7, 3, 5]) 15 Объединение объектов в кортеж (возвращается указатель на участок памяти): - list1 = [1, 2, 3] - list2 = [4, 5, 6] - zip (list1, list2) + >>>list1 = [1, 2, 3] + >>>list2 = [4, 5, 6] + >>>zip (list1, list2) Это итератор - указатель на объект памяти. -# Пункт 6. Пример того, что Python - регистрочувствительный язык. +# 6. Пример того, что Python - регистрочувствительный язык. - Gg1 = 45 - gg1, Gg1 + >>>Gg1 = 45 + >>>gg1, Gg1 (1.6, 45) - gg1 == Gg1 + >>>gg1 == Gg1 False -# Пункт 7. Изучение простых базовых типов объектов: логический (bool), целый (int), вещественный (float), комплексный (complex), строка символов (str). +# 7. Изучение простых базовых типов объектов: логический (bool), целый (int), вещественный (float), комплексный (complex), строка символов (str). ## 7.1.Логический тип. - bb1 = True - bb2 = False - type(bb1) + >>>bb1 = True + >>>bb2 = False + >>>type(bb1) ## 7.2. Другие простые типы. Целое число (десятичное) - ii1=-1234567890 - type(ii1) + >>>ii1=-1234567890 + >>>type(ii1) Экспоненциальная форма записи числа - ff1 = 8.987e-12 - type(ff1) + >>>ff1 = 8.987e-12 + >>>type(ff1) Двоичное число (префикс 0b - binary) - dv1 = 0b1100101 - type(dv1) + >>>dv1 = 0b1100101 + >>>type(dv1) Восьмеричное число (0о - octal) - vsm1 = 0o52765 - type(vsm1) + >>>vsm1 = 0o52765 + >>>type(vsm1) Шестнадцатеричное число (0х - hexadecimal) - shest1 = 0x7109af6 - type(shest1) + >>>shest1 = 0x7109af6 + >>>type(shest1) Комплексное число - cc1 = 2 - 3j - type(cc1) + >>>cc1 = 2 - 3j + >>>type(cc1) Создание комплексного числа - a = 3.67 - b = 0.45 - cc2 = complex (a, b) - cc2 + >>>a = 3.67 + >>>b = 0.45 + >>>cc2 = complex (a, b) + >>>cc2 (3.67+0.45j) - type (cc2) + >>>type (cc2) ## 7.3. Строка символов. @@ -198,72 +198,72 @@ Одинарные и двойные кавычки взаимозаменяемы, но если открыта одинарная, то закрыта тоже должна быть одинарная - ss1 = "Это - строка символов" - ss2 = 'Это - строка символов' - ss1 == ss2 + >>>ss1 = "Это - строка символов" + >>>ss2 = 'Это - строка символов' + >>>ss1 == ss2 True Внутри строки символов можно использовать, так называемые, «экранированные последовательности, начинающиеся со знака «\»(обратный слеш), например, \, ', ", \t, \n и другие. Пример: - ss1a="Это - \" строка символов \", \n \t выводимая на двух строках" - print(ss1a) + >>>ss1a="Это - \" строка символов \", \n \t выводимая на двух строках" + >>>print(ss1a) Это - " строка символов ", выводимая на двух строках Создадим строку по шаблону: - ss1b = 'Меня зовут: \n Голощапов Д.Е.' - print(ss1b) + >>>ss1b = 'Меня зовут: \n Голощапов Д.Е.' + >>>print(ss1b) Меня зовут: Голощапов Д.Е. Многострочные строки можно задавать в виде значения объекта с использованием тройных кавычек, например: - mnogo="""Нетрудно заметить , что в результате операции + >>>mnogo="""Нетрудно заметить , что в результате операции над числами разных типов получается число, имеющее более сложный тип из тех, которые участвуют в операции.""" - print(mnogo) + >>>print(mnogo) Нетрудно заметить , что в результате операции над числами разных типов получается число, имеющее более сложный тип из тех, которые участвуют в операции. При вводе такой строки символ приглашения в начале строки не появится, пока не будет вновь введены тройные кавычки. Можно обращаться к частям строки символов с использованием индексов символов по их порядку в строке. При этом надо учитывать, что нумерация символов начинается с 0. Например: - ss1[0] + >>>ss1[0] 'Э' - ss1[8] + >>>ss1[8] 'р' - ss1[-2] + >>>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-го от конца + >>>ss1[5:-8] #Это часть строки – с 5-го индекса и до 8-го от конца ' строка ' - ss1[3:17:2] #Часть строки – с 3-го по 16-й индексы с шагом 2 + >>>ss1[3:17:2] #Часть строки – с 3-го по 16-й индексы с шагом 2 ' тоасм' Обратим внимание на то, что в срезе указываются не позиции элементов, а их индексы и что указываемая правая граница в срез не включается. Значение при отрицательном значении шага: - ss1[17:3:-2] + >>>ss1[17:3:-2] 'омсаот ' При замене 17 на -4 получается такой же результат: - ss1[-4:3:-2] + >>>ss1[-4:3:-2] 'омсаот ' Строка является неизменяемым объектом. Попробуем, например, инструкцию - ss1[4]='=' + >>>ss1[4]='=' Traceback (most recent call last): File "", line 1, in ss1[4]='=' @@ -271,76 +271,76 @@ Однако, можно это сделать по-другому, переопределив её: - ss1=ss1[:4]+'='+ss1[5:] - ss1 + >>>ss1=ss1[:4]+'='+ss1[5:] + >>>ss1 'Это = строка символов' С использованием ранее созданной строки ss1b попробуем создать объекты с разными срезами исходной строки. - ss1b[-1] + >>>ss1b[-1] '.' - ss1b_cut = ss1b [::-1] - ss1b_cut + >>>ss1b_cut = ss1b [::-1] + >>>ss1b_cut '.Е.Д вопащолоГ \n :тувоз янеМ' Самостоятельное создание объектов разных типов. Отображение типов и значений созданных объектов. - num10 = 26 - type(num10) + >>>num10 = 26 + >>>type(num10) - num16 = hex(num10) - num16 + >>>num16 = hex(num10) + >>>num16 '0x1a' - type(num16) + >>>type(num16) -# Пункт 8. Списки (list), кортежи (tuple), словари (dict), множества (set). +# 8. Списки (list), кортежи (tuple), словари (dict), множества (set). ## 8.1. Список list - изменяемый тип данных. Это упорядоченная последовательность из элементов одного или разных типов. Пример списка с 3 элементами разных типов: - spis1=[111,'Spisok',5-9j] - spis1 + >>>spis1=[111,'Spisok',5-9j] + >>>spis1 [111, 'Spisok', (5-9j)] Еще пример: список, содержащий последовательность отсчетов сигнала в виде «единичной ступеньки»: - stup=[0,0,1,1,1,1,1,1,1] - stup + >>>stup=[0,0,1,1,1,1,1,1,1] + >>>stup [0, 0, 1, 1, 1, 1, 1, 1, 1] Список можно вводить на нескольких строках. При этом список будет считаться незавершенным, пока не будет введена закрывающая квадратная скобка, например: - spis=[1,2,3,4, + >>>spis=[1,2,3,4, 5,6,7, 8,9,10] - spis + >>>spis [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] При работе с элементами списка можно использовать индексы точно так же, как это делали с элементами символьной строки, например, ссылка на последний элемент списка: - spis1 [-1] + >>>spis1 [-1] (5-9j) или - stup [-8 :: 2] + >>>stup [-8 :: 2] [0, 1, 1, 1] Проверим возможность изменения списка, например: - spis1[1]='Список' - spis1 + >>>spis1[1]='Список' + >>>spis1 [111, 'Список', (5-9j)] Текущее число элементов в списке можно узнать с помощью функции len(): - len(spis1) + >>>len(spis1) 3 Методы объекта находятся в списке его атрибутов, который выводится с помощью уже известной функции dir(). Описание метода можно вывести с помощью функции help() по образцу - help(spis1.append) + >>>help(spis1.append) Help on built-in function append: append(object, /) method of builtins.list instance @@ -348,53 +348,53 @@ С помощью методов объектов-списков можно добавлять и удалять элементы: - spis1.append('New item') - spis1 + >>>spis1.append('New item') + >>>spis1 [111, 'Список', (5-9j), 'New item'] - spis1+['New item'] + >>>spis1+['New item'] [111, 'Список', (5-9j), 'New item', 'New item'] - spis1 + >>>spis1 [111, 'Список', (5-9j), 'New item'] Обратим внимание на то, что в этой инструкции новый список только отображается, но не сохраняется. Добавим в конец списка spis1 строку ss1b и отобразите список: - spis1 += ss1b - spis1 + >>>spis1 += ss1b + >>>spis1 [111, 'Список', (5-9j), 'New item', 'М', 'е', 'н', 'я', ' ', 'з', 'о', 'в', 'у', 'т', ':', ' ', '\n', ' ', 'Г', 'о', 'л', 'о', 'щ', 'а', 'п', 'о', 'в', ' ', 'Д', '.', 'Е', '.'] - spis1 = [111, 'Список', (5-9j), 'New item'] - spis1.append(ss1b) - spis1 + >>>spis1 = [111, 'Список', (5-9j), 'New item'] + >>>spis1.append(ss1b) + >>>spis1 [111, 'Список', (5-9j), 'New item', 'Меня зовут: \n Голощапов Д.Е.'] Удаление элемента: - spis1.pop(1) + >>>spis1.pop(1) 'Список' - spis1 + >>>spis1 [111, (5-9j), 'New item', 'Меня зовут: \n Голощапов Д.Е.'] Также могут использоваться методы insert, remove, extend, clear, sort, reverse, copy, count, index: Для insert (Вставка элемента в определенное место по индексу): - help(spis1.insert) + >>>help(spis1.insert) Help on built-in function insert: insert(index, object, /) method of builtins.list instance Insert object before index. - spis1.insert(2, "hello") - spis1 + >>>spis1.insert(2, "hello") + >>>spis1 [111, (5-9j), 'hello', 'New item', 'Меня зовут: \n Голощапов Д.Е.'] - spis1.insert(8, "test") - spis1 + >>>spis1.insert(8, "test") + >>>spis1 [111, (5-9j), 'hello', 'New item', 'Меня зовут: \n Голощапов Д.Е.', 'test'] Для remove (Удаление элемента по значению): - help(spis1.remove) + >>>help(spis1.remove) Help on built-in function remove: remove(value, /) method of builtins.list instance @@ -402,43 +402,41 @@ Raises ValueError if the value is not present. - spis1.remove(111) - spis1 + >>>spis1.remove(111) + >>>spis1 [(5-9j), 'hello', 'New item', 'Меня зовут: \n Голощапов Д.Е.', 'test'] - spis1.remove('kitten') + >>>spis1.remove('kitten') Traceback (most recent call last): File "", line 1, in - spis1.remove('kitten') - ValueError: list.remove(x): x not in list Для extend (Добавление элементов объекта в конец другого объекта): - help(spis1.extend) + >>>help(spis1.extend) Help on built-in function extend: extend(iterable, /) method of builtins.list instance Extend list by appending elements from the iterable. - end1 = [123, "mew", (1,2)] - spis1.extend(end1) - spis1 + >>>end1 = [123, "mew", (1,2)] + >>>spis1.extend(end1) + >>>spis1 [(5-9j), 'hello', 'New item', 'Меня зовут: \n Голощапов Д.Е.', 'test', 123, 'mew', (1, 2)] Для clear (Полное очищение списка): - help(spis1.clear) + >>>help(spis1.clear) Help on built-in function clear: clear() method of builtins.list instance Remove all items from list. - end1.clear() - end1 + >>>end1.clear() + >>>end1 [] Для sort ( Сортировка списка без создания нового объекта): - help(spis1.sort) + >>>help(spis1.sort) Help on built-in function sort: sort(*, key=None, reverse=False) method of builtins.list instance @@ -452,26 +450,26 @@ The reverse flag can be set to sort in descending order. - end1 = [5, 6, 9.99999, 384, 0, -5] - end1.sort(key = abs, reverse = True) - end1 + >>>end1 = [5, 6, 9.99999, 384, 0, -5] + >>>end1.sort(key = abs, reverse = True) + >>>end1 [384, 9.99999, 6, 5, -5, 0] Для copy (Создание копии списка): - help(end1.copy) + >>>help(end1.copy) Help on built-in function copy: copy() method of builtins.list instance Return a shallow copy of the list. - endcopy = end1.copy() - endcopy + >>>endcopy = end1.copy() + >>>endcopy [384, 9.99999, 6, 5, -5, 0] Для index (Поиск индекса по значению): - help(endcopy.index) + >>>help(endcopy.index) Help on built-in function index: index(value, start=0, stop=9223372036854775807, /) method of builtins.list instance @@ -479,9 +477,9 @@ Raises ValueError if the value is not present. - endcopy.index(0) + >>>endcopy.index(0) 5 - endopy.index("lalala") + >>>endopy.index("lalala") Traceback (most recent call last): File "", line 1, in endopy.index("lalala") @@ -489,83 +487,83 @@ Для count (Подсчет количества элементов по значению): - help(endcopy.count) + >>>help(endcopy.count) Help on built-in function count: count(value, /) method of builtins.list instance Return number of occurrences of value. - endcopy.count(5) + >>>endcopy.count(5) 1 - endcopy.count(666666) + >>>endcopy.count(666666) 0 Списки могут быть вложенными: - spis2=[spis1,[4,5,6,7]] - spis2 + >>>spis2=[spis1,[4,5,6,7]] + >>>spis2 [[(5-9j), 'hello', 'New item', 'Меня зовут: \n Голощапов Д.Е.', 'test', 123, 'mew', (1, 2)], [4, 5, 6, 7]] Обращение к элементам вложенного списка: - spis2[0][1] + >>>spis2[0][1] 'hello' Изменение элемента вложенного списка: - spis2[0][1]=78 - spis2 + >>>spis2[0][1]=78 + >>>spis2 [[(5-9j), 78, 'New item', 'Меня зовут: \n Голощапов Д.Е.', 'test', 123, 'mew', (1, 2)], [4, 5, 6, 7]] - spis1 + >>>spis1 [(5-9j), 78, 'New item', 'Меня зовут: \n Голощапов Д.Е.', 'test', 123, 'mew', (1, 2)] Видим, что spis1 тоже изменился. Это происходит потому, что python работает не просто с объектами, а с ссылками на участки памяти. То есть, в Python списки передаются по ссылке, а не по значению.Упоминая spis1 в строке spis2=[spis1,[4,5,6,7]] мы не создаем копию spis1, а сообщаем именно тот список, поэтому его изменения в составе spis2 отображаются на исходном spis1. Создание своего списка - объекта: - spis3 = [100, 'Test', True, spis1] - spis3 + >>>spis3 = [100, 'Test', True, spis1] + >>>spis3 [100, 'Test', True, [(5-9j), 78, 'New item', 'Меня зовут: \n Голощапов Д.Е.', 'test', 123, 'mew', (1, 2)]] ## 8.2.Кортеж: последовательность как список, но неизменяемая как строка. Примеры операций с кортежами: создание кортежа: - kort1=(222,'Kortezh',77+8j) + >>>kort1=(222,'Kortezh',77+8j) Изменить кортеж нельзя, но можно его переопределить: - kort1= kort1+(1,2) - kort1 + >>>kort1= kort1+(1,2) + >>>kort1 (222, 'Kortezh', (77+8j), 1, 2) Если надо добавить еще один элемент в кортеж: - kort1= kort1+(ss1b,) - kort1 + >>>kort1= kort1+(ss1b,) + >>>kort1 (222, 'Kortezh', (77+8j), 1, 2, 'Меня зовут: \n Голощапов Д.Е.') Теперь переопределим кортеж с удалением комплексного элемента: - kort2=kort1[:2]+kort1[3:] - kort2 + >>>kort2=kort1[:2]+kort1[3:] + >>>kort2 (222, 'Kortezh', 1, 2, 'Меня зовут: \n Голощапов Д.Е.') Два важных метода кортежа (они есть также и у списков): • Определение индекса заданного элемента: - kort1.index(2) + >>>kort1.index(2) 4 • Подсчет числа вхождений заданного элемента в кортеже: - kort1.count(222) + >>>kort1.count(222) 1 Методов append и pop у кортежей нет, т.к. они являются неизменяемыми. Попробуем операцию замены элемента кортежа: - kort1[2]=90 + >>>kort1[2]=90 Traceback (most recent call last): File "", line 1, in kort1[2]=90 @@ -573,12 +571,12 @@ Создание объекта-кортежа с элементами разных типов: число, строка, список, кортеж. - kortstr = ("h", "lambda", "always", 54, [1,2,3], (6,7)) - kortstr + >>>kortstr = ("h", "lambda", "always", 54, [1,2,3], (6,7)) + >>>kortstr ('h', 'lambda', 'always', 54, [1, 2, 3], (6, 7)) - type(kortstr[5]) + >>>type(kortstr[5]) - type(kortstr[4]) + >>>type(kortstr[4]) ## 8.3. Словарь (dictionary) - содержит в себе совокупность пар @@ -586,52 +584,52 @@ Пример создания словаря: - dic1={'Saratov':145, 'Orel':56, 'Vologda':45} - dic1 + >>>dic1={'Saratov':145, 'Orel':56, 'Vologda':45} + >>>dic1 {'Saratov': 145, 'Orel': 56, 'Vologda': 45} Обращение к элементам словаря не по индексам, а по ключам: - dic1['Orel'] + >>>dic1['Orel'] 56 Пополнение словаря (добавление элемента, изменение словаря): - dic1['Pskov']=78 - dic1 + >>>dic1['Pskov']=78 + >>>dic1 {'Saratov': 145, 'Orel': 56, 'Vologda': 45, 'Pskov': 78} Обратим внимание на то, что в силу неупорядоченности словаря при его выводе элементы могут располагаться не в том порядке, в каком они задавались при его формировании. Для того, чтобы получить перечень ключей или значений из словаря следует использовать методы keys или values, создающие списки, соответственно, ключей или значений из словаря. Функция sorted позволяет увидеть список упорядоченным по ключам или по значениям: - sorted(dic1.keys()) + >>>sorted(dic1.keys()) ['Orel', 'Pskov', 'Saratov', 'Vologda'] - sorted(dic1.values()) + >>>sorted(dic1.values()) [45, 56, 78, 145] Элементы словаря могут быть любого типа, в том числе и словарями. Например,создадим словарь: - dic2={1:'mean',2:'standart deviation',3:'correlation'} - dic3={'statistics':dic2,'POAS':['base','elementary','programming']} - dic3['statistics'][2] + >>>dic2={1:'mean',2:'standart deviation',3:'correlation'} + >>>dic3={'statistics':dic2,'POAS':['base','elementary','programming']} + >>>dic3['statistics'][2] 'standart deviation' Создадим более сложный словарь из списка с элементами-кортежами с использованием функции dict: - 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 Голощапов Д.Е.'} - dic5=dict(zip(['A','B','C','Stroka'],[16,-3,9,ss1b])) - dic5 + >>>dic5=dict(zip(['A','B','C','Stroka'],[16,-3,9,ss1b])) + >>>dic5 {'A': 16, 'B': -3, 'C': 9, 'Stroka': 'Меня зовут: \n Голощапов Д.Е.'} Самостоятельно придумайте объект-кортеж с 7 элементами и объект-список с 5 элементами и попробуйте создать из них словарь с помощью функций dict и zip. Сколько элементов в получившемся словаре? Объясните это число. - terms_tuple = ("mean", "median", "mode", "variance", "standard deviation", "correlation", "regression") - count_list = ["one", "two", "three", "four", "five"] - terms_dict = dict(zip(count_list, terms_tuple)) - terms_dict + >>>terms_tuple = ("mean", "median", "mode", "variance", "standard deviation", "correlation", "regression") + >>>count_list = ["one", "two", "three", "four", "five"] + >>>terms_dict = dict(zip(count_list, terms_tuple)) + >>>terms_dict {'one': 'mean', 'two': 'median', 'three': 'mode', 'four': 'variance', 'five': 'standard deviation'} Как мы видим длина словаря составляет 5 объектов. Это связано с функцией zip, которая делает так, что длина итогового объекта будет соответствовать минимальной длине составляющего. @@ -640,8 +638,8 @@ Пример создания множества: - mnoz1={'двигатель','датчик','линия связи','датчик','микропроцессор','двигатель'} - mnoz1 + >>>mnoz1={'двигатель','датчик','линия связи','датчик','микропроцессор','двигатель'} + >>>mnoz1 {'микропроцессор', 'датчик', 'линия связи', 'двигатель'} В созданном множестве дубликаты элементов были автоматически удалены. @@ -650,33 +648,33 @@ определение числа элементов - len(mnoz1) + >>>len(mnoz1) 4 проверка наличия элемента во множестве - 'датчик' in mnoz1 + >>>'датчик' in mnoz1 True добавление и удаление элемента - mnoz1.add('реле') - mnoz1.remove('линия связи') - mnoz1 + >>>mnoz1.add('реле') + >>>mnoz1.remove('линия связи') + >>>mnoz1 {'реле', 'датчик', 'микропроцессор', 'двигатель'} Объект-множество с элементами разных типов - mnoz2 = {'спичка', 15, False, 'gear'} - mnoz2 + >>>mnoz2 = {'спичка', 15, False, 'gear'} + >>>mnoz2 {False, 'спичка', 'gear', 15} - len(mnoz2) + >>>len(mnoz2) 4 - mnoz2.remove(15) + >>>mnoz2.remove(15) mnoz2 {False, 'спичка', 'gear'} -# Пункт 9. Завершение работы в среде IDLE. +# 9. Завершение работы в среде IDLE. From b5d142143ea21b41a665bc048a7c22f348cc5e5a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9F=D0=BE=D0=BB=D1=8C=D0=B7=D0=BE=D0=B2=D0=B0=D1=82?= =?UTF-8?q?=D0=B5=D0=BB=D1=8C=20=E2=84=96=207=20=D0=B0=D1=83=D0=B4=D0=B8?= =?UTF-8?q?=D1=82=D0=BE=D1=80=D0=B8=D0=B8=20=D0=96-115?= Date: Fri, 12 Sep 2025 11:26:23 +0300 Subject: [PATCH 06/12] =?UTF-8?q?=D0=BE=D0=BA=D0=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TEMA2/task.md | 61 ++++++++++++++++++++++++++++++++------------------- 1 file changed, 38 insertions(+), 23 deletions(-) diff --git a/TEMA2/task.md b/TEMA2/task.md index 96fe5b1..9a31fcd 100644 --- a/TEMA2/task.md +++ b/TEMA2/task.md @@ -4,44 +4,59 @@ Реализовать, записать в текстовый файл и проанализировать результаты последовательности инструкций, выполняющих следующие действия: -Создать переменную с именем familia и со значением - символьной строкой – своей фамилией в латинской транскрипции. +1.Создать переменную с именем familia и со значением - символьной строкой – своей фамилией в латинской транскрипции. -Создать переменную со значением, совпадающим с первой буквой из familia. +2.Создать переменную со значением, совпадающим с первой буквой из familia. -Создать переменную с именем sp_kw со значением – списком всей ключевых слов языка Python. +3.Создать переменную с именем sp_kw со значением – списком всей ключевых слов языка Python. -Удалите из списка sp_kw значение 'nonlocal'. Выводом списка в командном окне IDLE убедитесь, что это значение удалено из списка. +4.Удалите из списка sp_kw значение 'nonlocal'. Выводом списка в командном окне IDLE убедитесь, что это значение удалено из списка. -Создайте кортеж kort_nam с именами: вашим и еще 3-х студентов из вашей группы. Напишите инструкцию, позволяющую убедиться, что тип переменной – это tuple. +5.Создайте кортеж kort_nam с именами: вашим и еще 3-х студентов из вашей группы. Напишите инструкцию, позволяющую убедиться, что тип переменной – это tuple. -Напишите инструкцию, добавляющую в kort_nam имена еще двух студентов. +6.Напишите инструкцию, добавляющую в kort_nam имена еще двух студентов. -Напишите инструкцию, позволяющую определить, сколько раз в кортеже присутствуют студенты с именем «Дима». +7.Напишите инструкцию, позволяющую определить, сколько раз в кортеже присутствуют студенты с именем «Дима». -Создайте словарь dict_bas, в котором ключами являются русские названия типов переменных, использованных в предыдущих операторах, а значениями – ранее созданные переменные, соответствующие этим типам. +8.Создайте словарь dict_bas, в котором ключами являются русские названия типов переменных, использованных в предыдущих операторах, а значениями – ранее созданные переменные, соответствующие этим типам. ## Решение - familia = 'Goloshchapov' - fam1 = familia[0] - fam1 +1. Создаю переменную familia. + >>>familia = 'Goloshchapov' + +2. Создаю переменную, которая равна первой букве familia. + >>>fam1 = familia[0] + >>>fam1 'G' - import keyword - sp_kw = keyword.kwlist - sp_kw + +3. Создаю переменную с именем sp_kw, значение – списк всех ключевых слов Python. + >>>import keyword + >>>sp_kw = keyword.kwlist + >>>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'] - sp_kw.remove('nonlocal') - sp_kw + +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'] - kort_nam = ("Liza", "Alexander", "Danya", "Dima") - type(kort_nam) + +5. Создаю кортеж kort_nam с моим и еще 3-х студентов из группы именами. Проверяю, что тип переменной – это tuple. + >>>kort_nam = ("Liza", "Alexander", "Danya", "Dima") + >>>type(kort_nam) - kort_nam += ("Nikita", "Artem") - kort_nam + +6. Добавляю в kort_nam имена двух студентов. + >>>kort_nam += ("Nikita", "Artem") + >>>kort_nam ('Liza', 'Alexander', 'Danya', 'Dima', 'Nikita', 'Artem') - kort_nam.count("Dima") + +7. Определяю, сколько раз в кортеже присутствуют студенты с именем «Дима». + >>>kort_nam.count("Dima") 1 - dict_bas = {"строка": familia, "символ": fam1, "список": sp_kw, + +8. Создаю словарь dict_bas, в котором ключами являются русские названия типов переменных, использованных в предыдущих операторах, а значениями – ранее созданные переменные, соответствующие этим типам. + >>>dict_bas = {"строка": familia, "символ": fam1, "список": sp_kw, "кортеж": kort_nam,} - dict_bas + >>>dict_bas {'строка': 'Goloshchapov', 'символ': 'G', 'список': ['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'], 'кортеж': ('Liza', 'Alexander', 'Danya', 'Dima', 'Nikita', 'Artem')} \ No newline at end of file From 23198c0e3d79bcb8c971bf484a450d4a2c8564bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9F=D0=BE=D0=BB=D1=8C=D0=B7=D0=BE=D0=B2=D0=B0=D1=82?= =?UTF-8?q?=D0=B5=D0=BB=D1=8C=20=E2=84=96=207=20=D0=B0=D1=83=D0=B4=D0=B8?= =?UTF-8?q?=D1=82=D0=BE=D1=80=D0=B8=D0=B8=20=D0=96-115?= Date: Fri, 12 Sep 2025 11:28:19 +0300 Subject: [PATCH 07/12] =?UTF-8?q?=D0=BE=D0=BA=D0=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TEMA2/task.md | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/TEMA2/task.md b/TEMA2/task.md index 9a31fcd..5904a40 100644 --- a/TEMA2/task.md +++ b/TEMA2/task.md @@ -23,40 +23,40 @@ ## Решение 1. Создаю переменную familia. - >>>familia = 'Goloshchapov' + familia = 'Goloshchapov' 2. Создаю переменную, которая равна первой букве familia. - >>>fam1 = familia[0] - >>>fam1 + fam1 = familia[0] + fam1 'G' 3. Создаю переменную с именем sp_kw, значение – списк всех ключевых слов Python. - >>>import keyword - >>>sp_kw = keyword.kwlist - >>>sp_kw + import keyword + sp_kw = keyword.kwlist + 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', затем убедился, что это значение удалено из списка. - >>>sp_kw.remove('nonlocal') - >>>sp_kw + 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 = ("Liza", "Alexander", "Danya", "Dima") - >>>type(kort_nam) + kort_nam = ("Liza", "Alexander", "Danya", "Dima") + type(kort_nam) 6. Добавляю в kort_nam имена двух студентов. - >>>kort_nam += ("Nikita", "Artem") - >>>kort_nam + kort_nam += ("Nikita", "Artem") + kort_nam ('Liza', 'Alexander', 'Danya', 'Dima', 'Nikita', 'Artem') 7. Определяю, сколько раз в кортеже присутствуют студенты с именем «Дима». - >>>kort_nam.count("Dima") + kort_nam.count("Dima") 1 8. Создаю словарь dict_bas, в котором ключами являются русские названия типов переменных, использованных в предыдущих операторах, а значениями – ранее созданные переменные, соответствующие этим типам. - >>>dict_bas = {"строка": familia, "символ": fam1, "список": sp_kw, + dict_bas = {"строка": familia, "символ": fam1, "список": sp_kw, "кортеж": kort_nam,} - >>>dict_bas + dict_bas {'строка': 'Goloshchapov', 'символ': 'G', 'список': ['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'], 'кортеж': ('Liza', 'Alexander', 'Danya', 'Dima', 'Nikita', 'Artem')} \ No newline at end of file From e7fbd5cbe3f5e9493500331b64795d4e73adb430 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9F=D0=BE=D0=BB=D1=8C=D0=B7=D0=BE=D0=B2=D0=B0=D1=82?= =?UTF-8?q?=D0=B5=D0=BB=D1=8C=20=E2=84=96=207=20=D0=B0=D1=83=D0=B4=D0=B8?= =?UTF-8?q?=D1=82=D0=BE=D1=80=D0=B8=D0=B8=20=D0=96-115?= Date: Fri, 12 Sep 2025 11:29:26 +0300 Subject: [PATCH 08/12] =?UTF-8?q?=D0=BE=D0=BA=D0=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TEMA2/task.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/TEMA2/task.md b/TEMA2/task.md index 5904a40..4b020c0 100644 --- a/TEMA2/task.md +++ b/TEMA2/task.md @@ -23,39 +23,47 @@ ## Решение 1. Создаю переменную familia. + familia = 'Goloshchapov' 2. Создаю переменную, которая равна первой букве familia. + fam1 = familia[0] fam1 'G' 3. Создаю переменную с именем sp_kw, значение – списк всех ключевых слов Python. + import keyword sp_kw = keyword.kwlist 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', затем убедился, что это значение удалено из списка. + 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 = ("Liza", "Alexander", "Danya", "Dima") type(kort_nam) 6. Добавляю в kort_nam имена двух студентов. + kort_nam += ("Nikita", "Artem") kort_nam ('Liza', 'Alexander', 'Danya', 'Dima', 'Nikita', 'Artem') 7. Определяю, сколько раз в кортеже присутствуют студенты с именем «Дима». + kort_nam.count("Dima") 1 8. Создаю словарь dict_bas, в котором ключами являются русские названия типов переменных, использованных в предыдущих операторах, а значениями – ранее созданные переменные, соответствующие этим типам. + dict_bas = {"строка": familia, "символ": fam1, "список": sp_kw, "кортеж": kort_nam,} dict_bas From 8ca9c2f9283491f8c5479bf1aa6125878a9edd34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9F=D0=BE=D0=BB=D1=8C=D0=B7=D0=BE=D0=B2=D0=B0=D1=82?= =?UTF-8?q?=D0=B5=D0=BB=D1=8C=20=E2=84=96=207=20=D0=B0=D1=83=D0=B4=D0=B8?= =?UTF-8?q?=D1=82=D0=BE=D1=80=D0=B8=D0=B8=20=D0=96-115?= Date: Fri, 12 Sep 2025 11:30:28 +0300 Subject: [PATCH 09/12] =?UTF-8?q?=D0=BE=D0=BA=D0=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TEMA2/task.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/TEMA2/task.md b/TEMA2/task.md index 4b020c0..999bada 100644 --- a/TEMA2/task.md +++ b/TEMA2/task.md @@ -29,42 +29,55 @@ 2. Создаю переменную, которая равна первой букве familia. fam1 = familia[0] + fam1 + 'G' 3. Создаю переменную с именем sp_kw, значение – списк всех ключевых слов Python. import keyword + sp_kw = keyword.kwlist + 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', затем убедился, что это значение удалено из списка. 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 = ("Liza", "Alexander", "Danya", "Dima") + type(kort_nam) + 6. Добавляю в kort_nam имена двух студентов. kort_nam += ("Nikita", "Artem") + kort_nam + ('Liza', 'Alexander', 'Danya', 'Dima', 'Nikita', 'Artem') 7. Определяю, сколько раз в кортеже присутствуют студенты с именем «Дима». kort_nam.count("Dima") + 1 8. Создаю словарь dict_bas, в котором ключами являются русские названия типов переменных, использованных в предыдущих операторах, а значениями – ранее созданные переменные, соответствующие этим типам. dict_bas = {"строка": familia, "символ": fam1, "список": sp_kw, "кортеж": kort_nam,} + dict_bas {'строка': 'Goloshchapov', 'символ': 'G', 'список': ['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'], 'кортеж': ('Liza', 'Alexander', 'Danya', 'Dima', 'Nikita', 'Artem')} \ No newline at end of file From 151856a8db6292039c14a9aab0a21b9b3fef6e3d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9F=D0=BE=D0=BB=D1=8C=D0=B7=D0=BE=D0=B2=D0=B0=D1=82?= =?UTF-8?q?=D0=B5=D0=BB=D1=8C=20=E2=84=96=207=20=D0=B0=D1=83=D0=B4=D0=B8?= =?UTF-8?q?=D1=82=D0=BE=D1=80=D0=B8=D0=B8=20=D0=96-115?= Date: Fri, 12 Sep 2025 11:32:14 +0300 Subject: [PATCH 10/12] =?UTF-8?q?=D0=BE=D0=BA=D0=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TEMA2/task.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TEMA2/task.md b/TEMA2/task.md index 999bada..d206652 100644 --- a/TEMA2/task.md +++ b/TEMA2/task.md @@ -77,7 +77,7 @@ 8. Создаю словарь dict_bas, в котором ключами являются русские названия типов переменных, использованных в предыдущих операторах, а значениями – ранее созданные переменные, соответствующие этим типам. dict_bas = {"строка": familia, "символ": fam1, "список": sp_kw, - "кортеж": kort_nam,} + "кортеж": kort_nam,} dict_bas {'строка': 'Goloshchapov', 'символ': 'G', 'список': ['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'], 'кортеж': ('Liza', 'Alexander', 'Danya', 'Dima', 'Nikita', 'Artem')} \ No newline at end of file From 00c3e8a5c8da32513cd913b222d2af220fa96c8e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9F=D0=BE=D0=BB=D1=8C=D0=B7=D0=BE=D0=B2=D0=B0=D1=82?= =?UTF-8?q?=D0=B5=D0=BB=D1=8C=20=E2=84=96=207=20=D0=B0=D1=83=D0=B4=D0=B8?= =?UTF-8?q?=D1=82=D0=BE=D1=80=D0=B8=D0=B8=20=D0=96-115?= Date: Fri, 12 Sep 2025 11:33:14 +0300 Subject: [PATCH 11/12] =?UTF-8?q?=D0=BE=D0=BA=D0=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TEMA2/task.md | 46 +++++++++++++++++++++++----------------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/TEMA2/task.md b/TEMA2/task.md index d206652..58bde4a 100644 --- a/TEMA2/task.md +++ b/TEMA2/task.md @@ -24,60 +24,60 @@ 1. Создаю переменную familia. - familia = 'Goloshchapov' + familia = 'Goloshchapov' 2. Создаю переменную, которая равна первой букве familia. - fam1 = familia[0] + fam1 = familia[0] - fam1 + fam1 - 'G' + 'G' 3. Создаю переменную с именем sp_kw, значение – списк всех ключевых слов Python. - import keyword + import keyword - sp_kw = keyword.kwlist + sp_kw = keyword.kwlist - sp_kw + 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'] + ['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', затем убедился, что это значение удалено из списка. - sp_kw.remove('nonlocal') + sp_kw.remove('nonlocal') - sp_kw + 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'] + ['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 = ("Liza", "Alexander", "Danya", "Dima") + kort_nam = ("Liza", "Alexander", "Danya", "Dima") - type(kort_nam) + type(kort_nam) - + 6. Добавляю в kort_nam имена двух студентов. - kort_nam += ("Nikita", "Artem") + kort_nam += ("Nikita", "Artem") - kort_nam + kort_nam - ('Liza', 'Alexander', 'Danya', 'Dima', 'Nikita', 'Artem') + ('Liza', 'Alexander', 'Danya', 'Dima', 'Nikita', 'Artem') 7. Определяю, сколько раз в кортеже присутствуют студенты с именем «Дима». - kort_nam.count("Dima") + kort_nam.count("Dima") - 1 + 1 8. Создаю словарь dict_bas, в котором ключами являются русские названия типов переменных, использованных в предыдущих операторах, а значениями – ранее созданные переменные, соответствующие этим типам. - dict_bas = {"строка": familia, "символ": fam1, "список": sp_kw, - "кортеж": kort_nam,} + dict_bas = {"строка": familia, "символ": fam1, "список": sp_kw, + "кортеж": kort_nam,} - dict_bas - {'строка': 'Goloshchapov', 'символ': 'G', 'список': ['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'], 'кортеж': ('Liza', 'Alexander', 'Danya', 'Dima', 'Nikita', 'Artem')} \ No newline at end of file + dict_bas + {'строка': 'Goloshchapov', 'символ': 'G', 'список': ['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'], 'кортеж': ('Liza', 'Alexander', 'Danya', 'Dima', 'Nikita', 'Artem')} \ No newline at end of file From 5b8c2a36c3afa9b1f0645fb602fe9e99b580242b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9F=D0=BE=D0=BB=D1=8C=D0=B7=D0=BE=D0=B2=D0=B0=D1=82?= =?UTF-8?q?=D0=B5=D0=BB=D1=8C=20=E2=84=96=207=20=D0=B0=D1=83=D0=B4=D0=B8?= =?UTF-8?q?=D1=82=D0=BE=D1=80=D0=B8=D0=B8=20=D0=96-115?= Date: Fri, 12 Sep 2025 11:34:09 +0300 Subject: [PATCH 12/12] =?UTF-8?q?=D0=BE=D0=BA=D0=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TEMA2/task.md | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/TEMA2/task.md b/TEMA2/task.md index 58bde4a..cfbbd49 100644 --- a/TEMA2/task.md +++ b/TEMA2/task.md @@ -29,55 +29,42 @@ 2. Создаю переменную, которая равна первой букве familia. fam1 = familia[0] - fam1 - 'G' 3. Создаю переменную с именем sp_kw, значение – списк всех ключевых слов Python. import keyword - sp_kw = keyword.kwlist - 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', затем убедился, что это значение удалено из списка. 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 = ("Liza", "Alexander", "Danya", "Dima") - type(kort_nam) - 6. Добавляю в kort_nam имена двух студентов. kort_nam += ("Nikita", "Artem") - kort_nam - ('Liza', 'Alexander', 'Danya', 'Dima', 'Nikita', 'Artem') 7. Определяю, сколько раз в кортеже присутствуют студенты с именем «Дима». kort_nam.count("Dima") - 1 8. Создаю словарь dict_bas, в котором ключами являются русские названия типов переменных, использованных в предыдущих операторах, а значениями – ранее созданные переменные, соответствующие этим типам. dict_bas = {"строка": familia, "символ": fam1, "список": sp_kw, "кортеж": kort_nam,} - dict_bas {'строка': 'Goloshchapov', 'символ': 'G', 'список': ['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'], 'кортеж': ('Liza', 'Alexander', 'Danya', 'Dima', 'Nikita', 'Artem')} \ No newline at end of file