From 8364da85bedbdf77b50934bf20df592b8824aef5 Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 9 Sep 2025 17:41:21 +0200 Subject: [PATCH] second commit report adding --- TEMA2/pic0.png | Bin 0 -> 33383 bytes TEMA2/report.md | 426 ++++++++++++++++++++++++++++++++++++++++++++++++ TEMA2/report.py | 1 + 3 files changed, 427 insertions(+) create mode 100644 TEMA2/pic0.png create mode 100644 TEMA2/report.py diff --git a/TEMA2/pic0.png b/TEMA2/pic0.png new file mode 100644 index 0000000000000000000000000000000000000000..27e9541e03c6249724e13c06fccb121138a4cea2 GIT binary patch literal 33383 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

`*AAXM_y6pwft8=bj1J?w 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 Hmm&WRCF(wi literal 0 HcmV?d00001 diff --git a/TEMA2/report.md b/TEMA2/report.md index e69de29..0fef92d 100644 --- a/TEMA2/report.md +++ b/TEMA2/report.md @@ -0,0 +1,426 @@ +# Отчет по теме 2 + +Добровольска Елизавета, А-02-23 + +## 1 Создание протокола в IDLE + +Был установлен рабочий каталог и создан протокол в среде IDLE + +![](pic0.png) + +## 2 Создание обьектов и работа с ними + +Были созданы обьекты, просмотренно значение созданных обьектов, просмотренны существувющие обьекты, удалены обьекты + +```py +>>>f1=16; f2=3 +>>>f1,f2 +(16, 3) +>>>f1;f2 +16 +3 +>>>dir() +['__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'f1', 'f2', 'os'] +>>>dir(f1) +['__abs__', '__add__', '__and__', '__bool__', '__ceil__', '__class__', '__delattr__', '__dir__', '__divmod__', '__doc__', '__eq__', '__float__', '__floor__', '__floordiv__', '__format__', '__ge__', '__getattribute__', '__getnewargs__', '__getstate__', '__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', 'is_integer', 'numerator', 'real', 'to_bytes'] +>>>type(f2) + +>>>del f1,f2 +>>>dir() +['__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'os'] +``` + +## 3 Создание обьектов разнличных типов + +```py +>>>gg1=1.6 #значение в виде вещественного числа +>>>gg1 +1.6 +>>>hh1='Строка' #значение в виде символьной строки +>>>hh1 +'Строка' +>>>73sr=3 #неправильное имя – начинается с цифры - будет диагностика! +SyntaxError: invalid decimal literal +>>>and=7 #недопустимое имя – совпадает с ключевым словом - будет диагностика! +SyntaxError: invalid syntax +``` + +## 4 Просмотр и сохранение в переменной ключевых слов + +```py +>>>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'] +>>>kk = keyword.kwlist +>>>kk +['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'] +``` + +## 5 Изучение встроенных идентификаторов + +Был выведен список встроенных идентификаторов и изучен некоторый список функций с помощью функции help: +abs - выдает значение по модулю +len - выдает длину обьекта +max - выдает максимальное число из списка введенных в аргумент +min - выдает минимальное число из списка введенных в аргумент +pow - при двух аргументах: возводит первый в степень второго, при наличие третьего аргумента делит получившийся результат на третий аргумент и показывает остаток +round - округляет число до целого (при отсутствии второго аргумента), а при наличие второго аргумента округляет по стольких цифр после запятой, сколько указано во втором аргументе +sorted - сортирует числа или буквы слова по возрастанию или убыванию +sum - суммирует числа +zip - создает итератор, который объединяет элементы из нескольких перебираемых объектов по соответствию + +```py +>>>import builtins +>>>dir(builtins) +['ArithmeticError', 'AssertionError', 'AttributeError', 'BaseException', 'BaseExceptionGroup', 'BlockingIOError', 'BrokenPipeError', 'BufferError', 'BytesWarning', 'ChildProcessError', 'ConnectionAbortedError', 'ConnectionError', 'ConnectionRefusedError', 'ConnectionResetError', 'DeprecationWarning', 'EOFError', 'Ellipsis', 'EncodingWarning', 'EnvironmentError', 'Exception', 'ExceptionGroup', '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', 'PythonFinalizationError', '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', '_', '_IncompleteInputError', '__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(-5) +5 +>>>len("hi") +2 +>>>max(3, 4) +4 +>>>min(3, 4) +3 +>>>pow(3, 2) +9 +>>>pow(3, 2, 3) +0 +>>>round(5.675, 2) +5.67 +>>>sorted([3, 4, 1]) +[1, 3, 4] +>>>sorted("cdab") +['a', 'b', 'c', 'd'] +>>>sum([2, 3]) +5 +>>>list(zip([1, 2, 3], ["a", "b", "c"])) +[(1, 'a'), (2, 'b'), (3, 'c')] +``` + +## 6 Изучение различи восприятия программой маленьких и больших букв + +Были созданы две переменные с именами, в которых отличается только размер одной буквы. Был сделан вывод, что для программы это две разные переменные. + +```py +>>>Gg1=45 +>>>Gg1 +45 +>>>gg1 +1.6 +``` + +## 7 Изучение базовых типов обьектов + +Были изучены различные основные типа обьектов и произведены некоторые операции с ними. + +## 7.1 Изучение логического типа обьекта (bool) + +```py +>>>bb1=True; bb2=False +>>>bb1;bb2 +True +False +>>>type(bb1) #функция, показывающая тип (класс) объекта + +``` + +## 7.2 Изучение простых типов обьектов (int, float, complex) + +Были созданны переменные классов int, float, complex. Было выяснено, что двоичное число сохранено в обьекте класса int, как и например шестнадцатеричное число. А вот при экспоненциальной форме записи вещественного числа оно созраняется в обьекте класса float. + +```py +>>>ii1=-1234567890 +>>>ff1=-8.9876e-12 #экспоненциальная форма записи вещественного числа +>>>dv1=0b1101010 #Это – двоичное число. В объекте какого класса оно сохранено? +>>>type(dv1) + +>>>vsm1=0o52765 #Это – восьмеричное число +>>>shest1=0x7109af6 #Это – шестнадцатеричное число +>>>cc1=2-3j +>>>a=3.67; b=-0.45 +>>>cc2=complex(a,b) #Создается комплексное число +>>>type(cc1) + +>>>type(shest1) + +>>>type(ff1) + +``` + +## 7.3 Изучение типа обьекта - строка символов + +Были созданы обьекты типа строка, также использованы экранированные последовательности для переноса текста на разные строки. Было произведено обращение к элементам строки. Было произведено переопределение текста обьекта. + +```py +>>>ss1='Это - строка символов' +>>>ss1 +'Это - строка символов' +>>>ss1="Это - строка символов" +>>>ss1 +'Это - строка символов' +>>>ss1a="Это - \" строка символов \", \n \t выводимая на двух строках" +>>>print(ss1a) +Это - " строка символов ", + выводимая на двух строках +>>>ss1b= 'Меня зовут: \n Добровольска Е.' +>>>print(ss1b) +Меня зовут: + Добровольска Е. +>>>mnogo="""Нетрудно заметить , что в результате операции +над числами разных типов получается число, +имеющее более сложный тип из тех, которые участвуют в операции.""" +>>>print(mnogo) +Нетрудно заметить , что в результате операции +над числами разных типов получается число, +имеющее более сложный тип из тех, которые участвуют в операции. +>>>ss1[0] #Это – символ «Э» +'Э' +>>>ss1[8] #А это – символ «р» +'р' +>>>ss1[-2] #А это – символ «о» (при знаке «-»(минус) отсчет от конца строки) +'о' +>>>ss1[6:9] #Это часть строки – символы с 6-го индекса по 8-й (9-й не включается!) +'стр' +>>>ss1[13:] #Это часть строки – с 13-го индекса и до конца +'символов' +>>>ss1[:13] #Это часть строки – с начала и до 12-го индекса включительно +'Это - строка ' +>>>ss1[5:-8] #Это часть строки – с 5-го индекса и до 8-го от конца +' строка ' +>>>ss1[3:17:2] #Часть строки – с 3-го по 16-й индексы с шагом 2 +' тоасм' +>>>ss1[17:3:-2] +'омсаот ' +>>>ss1[-4:3:-2] +'омсаот ' +>>>ss1[4]='=' # Будет диагностика! +Traceback (most recent call last): + File "", line 1, in + ss1[4]='=' # Будет диагностика! +TypeError: 'str' object does not support item assignment +>>>ss1=ss1[:4]+'='+ss1[5:] +>>>ss1 +'Это = строка символов' +>>>ss1b[14:19] +'Добро' +>>>ss1b[14:19:2] +'Дбо' +>>>ss1b[19:14:-2] +'вро' +``` + +Также были самостоятельно созданы обьекты разных типов и просмотренн их класс и значение: + +```py +>>>gh = 3.7865 +>>>type(gh) + +>>>jk = 3 +>>>type(jk) + +>>>sl = "aaaa" +>>>type(sl) + +>>>ss = 5+2j +>>>type(ss) + +>>>gh +3.7865 +>>>jk +3 +>>>sl +'aaaa' +>>>ss +(5+2j) +``` + +## 8 Изучение сложных типов обьектов + +## 8.1 Изучение типа обьекта - список + +Был создан список, произведено обращение к элементам списка, выведена длина списка, просмотрены и применены методы обьекта, а также произведено добавление элемента к списку и удаление элемента из списка. + +```py +>>>spis1=[111,'Spisok',5-9j] +>>>stup=[0,0,1,1,1,1,1,1,1] +>>>spis=[1,2,3,4, + 5,6,7, + 8,9,10] +>>>spis1[-1] +(5-9j) +>>>stup[-8::2] +[0, 1, 1, 1] #В данный список вошло 4 элемента, с 8 с конца до последнего с шагом 2. То есть с индексами 1,3,5,7 +>>>spis1[1]='Список' +>>>spis1 +[111, 'Список', (5-9j)] +>>>len(spis1) +3 +>>>dir(spis1) +['__add__', '__class__', '__class_getitem__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getstate__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort'] +>>>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+['New item'] +[111, 'Список', (5-9j), 'New item', 'New item'] +>>>spis1+[ss1b] +>>>[111, 'Список', (5-9j), 'New item', 'Меня зовут: \n Добровольска Е.'] +>>>spis1.pop(1) +'Список' +>>>spis1 +[111, (5-9j), 'New item'] +``` + +Также были изучены и применены самомтоятельно некоторые методы: + +insert - вставляет элемент с второго аргумента на позицию c первого аргумента +remove - удаляет первый элемент из списка, который соответствует аргументу (его значению) +extend - добaвляет в конец списка все элемента из обьекта в аргументе +clear - очищает список +sort - +reverse - переворачивает порядок элементов +copy - создает копию списка +count - возвращает число, сколько раз элемент из аргумента встиречается в списке +index - возвращает индекс первого элемента соответствующему аргументу + +```py +>>>lis = [1,2,3,4,5,6,8,9] +>>>lis +[1, 2, 3, 4, 5, 6, 8, 9] +>>>lis.insert(6, 7) +>>>lis +[1, 2, 3, 4, 5, 6, 7, 8, 9] +>>>lis.remove(5) +>>>lis +[1, 2, 3, 4, 6, 7, 8, 9] +>>>lis.extend(sus) +>>>lis +[1, 2, 3, 4, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6, 7, 8, 9] +>>>lis.sort() +>>>lis +[1, 1, 2, 2, 3, 3, 4, 4, 5, 6, 6, 7, 7, 8, 8, 9, 9] +>>>lis.reverse() +>>>lis +[9, 9, 8, 8, 7, 7, 6, 6, 5, 4, 4, 3, 3, 2, 2, 1, 1] +>>>lis.copy() +[9, 9, 8, 8, 7, 7, 6, 6, 5, 4, 4, 3, 3, 2, 2, 1, 1] +>>>lis.count(8) +2 +>>>lis.index(7) +4 +>>>lis.clear() +>>>lis +[] +``` +Был создан вложенный список, а также самостоятельно был создан список из элементов разных классов: число, строка, логическое значение, список. + +```py +>>>spis2=[spis1,[4,5,6,7]] #здесь элементами являются два списка +>>>spis2[0][1] #обращение к элементу списка spis1 +(5-9j) +>>>spis2[0][1]=78 #Убедитесь, что значение элемента заменено на 78 +>>>spis2 +[[111, 78, 'New item'], [4, 5, 6, 7]] +>>>spis1 +[111, 78, 'New item'] #spis1 изменился, поскольку присваивание списка переменной (или включение списка в другой список) создает ссылку, а не копию. Списки являются изменяемыми, поэтому изменение списка через одну ссылку влияет и на другие ссылки, указывающие на этот же список. +>>>spisochek=[jk, ss1, bb1, lis] +>>>spisochek +[3, 'Это = строка символов', True, []] +''' + +## 8.2 Изучение типа обьекта - обьект-кортеж + +Был создан обьект кортеж, к нему были добывлены элементы, кортеж был переопределен, были применены некоторые методы (index, count), была произведена попытка изменить кортеж, а также самостоятельно был создан кортеж с элементами разных типов: число, строка, список, кортеж. + +```py +>>>kort1=(222,'Kortezh',77+8j) +>>>kort1= kort1+(1,2) +>>>kort1 +(222, 'Kortezh', (77+8j), 1, 2) +>>>kort1= kort1+(ss1b,) +>>>kort1 +(222, 'Kortezh', (77+8j), 1, 2, 'Меня зовут: \n Добровольска Е.') +>>>kort2=kort1[:2]+kort1[3:] +>>>kort2 +(222, 'Kortezh', 1, 2, 'Меня зовут: \n Добровольска Е.') +>>>kort1.index(2) # Будет получено значение 4 +4 +>>>kort1.count(222) #Будет получено значение 1 +1 +>>>kort1[2]=90 #Будет получена диагностика о невозможности изменения кортежа +Traceback (most recent call last): + File "", line 1, in + kort1[2]=90 #Будет получена диагностика о невозможности изменения кортежа +TypeError: 'tuple' object does not support item assignment +>>>kort3=(4, "ppp", lis, kort1) +>>>kort3 +(4, 'ppp', [], (222, 'Kortezh', (77+8j), 1, 2, 'Меня зовут: \n Добровольска Е.')) +``` + +## 8.3 Изучение типа обьекта - Объект-словарь + +Был создан словарь, произведено обращение к его элементу, добавлен элемент, словарь был отсортирован по ключу и по значению, были созданы словари с помощью dict и zip. Также самостоятельно был создан словарь из списка и кортежа с помощью dict и zip. + +```py +>>>dic1={'Saratov':145, 'Orel':56, 'Vologda':45} +>>>dic1['Orel'] +56 +>>>dic1['Pskov']=78 +>>>dic1 +{'Saratov': 145, 'Orel': 56, 'Vologda': 45, 'Pskov': 78} +>>>sorted(dic1.keys()) +['Orel', 'Pskov', 'Saratov', 'Vologda'] +>>>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] +'standart deviation' +>>>dic4=dict([(1,['A','B','C']),(2,[4,5]),('Q','Prim'),('Stroka',ss1b)]) +>>>dic5=dict(zip(['A','B','C','Stroka'],[16,-3,9,ss1b])) +>>>kort4=(1,2,3,4,5,6,7) +>>>lis1=["a", "b", "c", "d", "e"] +>>>dic4 +{1: ['A', 'B', 'C'], 2: [4, 5], 'Q': 'Prim', 'Stroka': 'Меня зовут: \n Добровольска Е.'} +>>>dic5 +{'A': 16, 'B': -3, 'C': 9, 'Stroka': 'Меня зовут: \n Добровольска Е.'} +>>>dic7=dict(zip(kort4, lis1)) +>>>dic7 +{1: 'a', 2: 'b', 3: 'c', 4: 'd', 5: 'e'} +>>>len(dic7) #Длина словаря равна 5, поскольку zip объединяет элементы из перебираемых объектов пока не закончится самый короткий из них. +5 +>>>AVTI={'Курс I':[22,23,17,24,30,29,28,25,23,0,4,31,30,33,18,12,27],'Курс II':[18,16,12,15,29,18,21,23,13,0,4,20,31,26,16,], 'Курс III':[17,12,0,6,17,15,19,19,0,0,5,17,22,18,12], 'Курс IV':[27,16,0,13,17,15,19,20,0,0,2,15,18,16,17]} +>>>AVTI['Курс III'][5] +15 +``` + +## 8.4 Изучение типа обьекта - Объект-множество + +Был создан обьект множество, посчитано количество элементов в нем, добавлен и удален элемент из множества, проверено наличие элемента в множестве. Также самостоятельно было создано множество содержащее строки, числа и кортеж и произведены некоторые действия с ним. + +```py +>>>mnoz1={'двигатель','датчик','линия связи','датчик','микропроцессор','двигатель'} +>>>mnoz1 +{'микропроцессор', 'двигатель', 'датчик', 'линия связи'} +>>>len(mnoz1) +4 +>>>'датчик' in mnoz1 +True +>>>mnoz1.add('реле') +>>>mnoz1.remove('линия связи') +>>>mnoz1 +{'микропроцессор', 'реле', 'двигатель', 'датчик'} +>>>mno={"loo", "uu", 3, kort1} +>>>mno +{3, 'loo', 'uu', (222, 'Kortezh', (77+8j), 1, 2, 'Меня зовут: \n Добровольска Е.')} +>>>mno.add(6) +>>>mno +{'loo', 3, 6, 'uu', (222, 'Kortezh', (77+8j), 1, 2, 'Меня зовут: \n Добровольска Е.')} +>>>"kkk" in mno +False +``` +## Завершение работы в IDLE + +Был закончен сеанс работы в IDLE diff --git a/TEMA2/report.py b/TEMA2/report.py new file mode 100644 index 0000000..52e10e3 --- /dev/null +++ b/TEMA2/report.py @@ -0,0 +1 @@ +# Протокол по Теме 2 Добровольска Елизавета