diff --git a/TEMA3/report.md b/TEMA3/report.md index e69de29..dc1787e 100644 --- a/TEMA3/report.md +++ b/TEMA3/report.md @@ -0,0 +1,268 @@ +# Отчет по Теме 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') +``` + + + +