# Отчет по Теме 3 Савин Семён, А-02-23 ## Пункт 2. Преобразование простых типов объектов. ## 2.1 Преобразование в логический тип ```py logiz1 = bool(56) >>> logiz2 = bool(0) >>> logiz3 = bool("Beta") >>> logiz4 = bool("") >>> logiz1 True >>> logiz2 False >>> logiz3 True >>> logiz4 False ``` ## 2.2 Преобразование в целое число ```py tt1 = int(198.6) >>> tt2 = int("-76") >>> tt3 = int("B",16) >>> tt4 = int("71",8) >>> tt5 = int("98.76") Traceback (most recent call last): File "", line 1, in tt5 = int("98.76") ValueError: invalid literal for int() with base 10: '98.76' >>> tt1 198 >>> tt2 -76 >>> tt3 11 >>> tt4 57 ``` ## 2.3 Преобразование в вещественное число ```py flt1 = float(789) >>> flt2 = float(-6.78e2) >>> flt3 = float ("Infinity") >>> flt4 = float("-inf") >>> flt1 789.0 >>> flt2 -678.0 >>> flt3 inf >>> flt4 -inf ``` ## Пункт 3. Преобразование более сложных базовых типов объектов. ## 3.1. Преобразование в строку ```py >>> strk1 = str(23.6) >>> strk2 = str(logiz3) >>> strk3 = str(["A","B","C"]) >>> strk4 = str(("A","B","C")) >>> strk5=str({"A":1,"B":2,"C":9}) >>> strk1 '23.6' >>> strk2 'True' >>> strk3 "['A', 'B', 'C']" >>> strk4 "('A', 'B', 'C')" >>> strk5 "{'A': 1, 'B': 2, 'C': 9}" ``` ## 3.2. Преобразование в список ```py >>> spis1 = list("Строка символов") >>> spis2 = list((124,236,-15,908)) >>> spis3 = list({"A":1,"B":2,"C":9}) >>> spis1 ['С', 'т', 'р', 'о', 'к', 'а', ' ', 'с', 'и', 'м', 'в', 'о', 'л', 'о', 'в'] >>> spis2 [124, 236, -15, 908] >>> spis3 ['A', 'B', 'C'] ``` ## 3.3. Преобразование в кортеж ```py >>> kort7=tuple('Строка символов') >>> kort8 = tuple(spis2) >>> kort9 = tuple({"A":1, "B":2, "C":9}) >>> kort7 ('С', 'т', 'р', 'о', 'к', 'а', ' ', 'с', 'и', 'м', 'в', 'о', 'л', 'о', 'в') >>> kort8 (124, 236, -15, 908) >>> kort9 ('A', 'B', 'C') ``` ## 3.4 Удаление объектов ```py >>> del strk5,kort8 >>> strk5 Traceback (most recent call last): File "", line 1, in strk5 NameError: name 'strk5' is not defined >>> kort8 Traceback (most recent call last): File "", line 1, in kort8 NameError: name 'kort8' is not defined ``` ## Пункт 4. Арифметические операции. ## 4.1. Сложение и вычитание ```py >>> 12+7+90 109 >>> 5.689e-1 - 0.456 0.11289999999999994 >>> 23.6+54 77.6 >>> 14-56.7+89 46.3 ``` ## 4.2. Умножение ```py >>> -6.7*12 -80.4 ``` ## 4.3. Деление ```py >>> -234.5/6 -39.083333333333336 >>> a=178/45 >>> a 3.9555555555555557 ``` ## 4.4. Деление с округлением вниз ```py >>> b=178//45 >>> c=-24.6//12.1 >>> b 3 >>> c -3.0 ``` ## 4.5. Получение остатка от деления ```py >>> 146%33 14 >>> 148%33 16 >>> 12.6%3.8 1.2000000000000002 >>> 11%3.8 3.4000000000000004 >>> 4.0%1.0 0.0 ``` ## 4.6. Возведение в степень ```py >>> 14**3 2744 >>> e=2.7**3.6 >>> e 35.719843790663525 >>> 2**4.5 22.627416997969522 >>> g = 14 - 8j >>> g**2 (132-224j) >>> g%2 Traceback (most recent call last): File "", line 1, in g%2 TypeError: can't mod complex numbers. >>> g//2 Traceback (most recent call last): File "", line 1, in g//2 TypeError: can't take floor of complex number. >>> g/2 (7-4j) >>> g*5 (70-40j) ``` ## Пункт 5. Операции с двоичными представлениями целых чисел. ## 5.1. Двоичная инверсия ```py >>> dv1 = 9 >>> dv2 = ~dv1 >>> bin(dv2) '-0b1010' ``` ## 5.2. Двоичное "И" ```py >>> bin(7&9) '0b1' >>> bin(7&8) '0b0' ``` ## 5.3. Двоичное "ИЛИ" ```py >>> a = bin(7|9) >>> b = bin(7|8) >>> a '0b1111' >>> b '0b1111' ``` ## 5.4. Двоичное "исключающее ИЛИ" ```py >>> c = bin(14^5) >>> c '0b1011' ``` ## 5.5. Сдвиг двоичного представления ```py >>> h = 14 >>> bin(h) '0b1110' >>> g = h<<2 >>> g 56 >>> bin(g) '0b111000' >>> g1 = h>>1 >>> g2 = h>>2 >>> bin(g1), bin(g2) ('0b111', '0b11') ```