diff --git a/TEMA3/report.md b/TEMA3/report.md index bd87d67..cd5eb12 100644 --- a/TEMA3/report.md +++ b/TEMA3/report.md @@ -52,8 +52,7 @@ Traceback (most recent call last): ValueError: invalid literal for int() with base 10: '98.76' ``` При выполнении последней инструкции выдано диагностическое сообщение, это происходит -потому, что команда int ожидает, что ей сообщат строку (только цифры, может быть знак в начале). Здесь есть точка, поэтому возникает -несоответствие. +потому, что команда int ожидает, что ей сообщат строку (только цифры, может быть знак в начале). Здесь есть точка, поэтому возникает несоответствие ожидаемого формата. Нужно сначала переопределить это число как float, а потом уже применить команду int. Преобразование целых чисел или строк символов в вещественное число – с помощью функции float(<Объект>) @@ -145,9 +144,12 @@ inf >>> kort8=tuple(spis2) #Преобразование списка в кортеж >>> kort8 (124, 236, -15, 908) ->>> kort9=tuple({"A":1,"B":2,"C":9}) #Преобразование словаря в кортеж +>>> kort9=tuple({"A":1,"B":2,"C":9}) # Преобразование ключей словаря в кортеж >>> kort9 ('A', 'B', 'C') +>>> kort9 = tuple(({"A":1,"B":2,"C":9}.values())) # Преобразование значений словаря в кортеж +>>> kort9 +(1, 2, 9) ``` @@ -319,8 +321,7 @@ TypeError: unsupported operand type(s) for %: 'complex' and 'complex' '-0b1010' ``` -Результат не совсем совпадает с ожидаемым видом "0110". Это происходит, потому что в python под инверсией подразумевается смена всех 0 на 1, 1 на 0, а еще смена знака, а знак -в двоичных числах записывается с помощью дополнительного кода. +Результат не совсем совпадает с ожидаемым видом "0110". Это происходит, потому что в python под инверсией подразумевается смена всех 0 на 1, 1 на 0, а еще смена знака. Было число 9 (1001), меняем все значения на противоположные (0110), затем надо поменять знак (это значит, что надо инвертировать все значения разрядов - будет 1001) и прибавить к полученному числу единицу (которая отвечает за знак), получаем число 1010. Двоичная инверсия делает из числа n число -(n+1). @@ -669,8 +670,8 @@ False >>> a is b True ``` -В Python возможности в плане оперирования памятью сведены к минимуму, и иногда использование памяти оптимизировано. Например, числа от -5 до 256 python подвергает интернированию, т.е. делает так, чтобы они ссылались на один участок памяти. Но с числами, не попадающими в этот диапазон, это не работает. - +Иногда использование памяти в Python оптимизировано. Например, числа от -5 до 256: Python делает так, чтобы они ссылались на один участок памяти. Но с числами, не попадающими в этот диапазон, это не работает. +В данном случае эти переменные не записаны в один адрес памяти, питон создает для списков два разных обьекта, так как список это изменяемый тип и так как значение для переменных присваивалось по-отдельности. # 9. Операции с объектами, выполняемые с помощью методов Полный список всех атрибутов любого объекта можно получить с использованием функции dir