#Тема 3 <Зеленкина Ксения Михайловна> print('2.1. Функция bool') logiz1=bool(56) print(type(logiz1)) logiz2=bool(0) print(type(logiz2)) logiz3=bool("Beta") print(type(logiz3)) logiz4=bool("") print(type(logiz4)) print('\n') print('2.2 Функция int') tt1=int(198.6) #Отбрасывается дробная часть print(tt1) tt2=int("-76") #Число – в строке символов, система по умолчанию - десятичная print(tt2) tt3=int("B",16) print(tt3) tt4=int("71",8) print(tt4) #tt5=int("98.76") #Код с ошибкой #print(tt5) tt5i = int(float("98.76")) #Исправленный вариант print(tt5i) print('\n') print('#Функция float') flt1=float(789) print(flt1) flt2=float(-6.78e2) print(flt2) flt3=float("Infinity") print(flt3) flt4=float("-inf") print(flt4) print('\n') print('2.3. Системы считсления') hh=123 print(hh) print('Двоичная система счисления') dv1=bin(hh) #Преобразование в строку с двоичным представлением print(dv1) print('Восьмеричная система счисления') vos1=oct(hh) # Преобразование в строку с восьмеричным представлением print(vos1) print('Шестнадцатеричная система счисления') shs1=hex(hh) # Преобразование в строку с шестнадцатеричным представлением print(shs1) print('\n') print('3.1 Функция str.') strk1=str(23.6) print(strk1) strk2=str(logiz3) print(strk2) strk3=str(["A","B","C"]) #Преобразуем список print(strk3) strk4=str(("A","B","C")) #Преобразуем кортеж print(strk4) strk5=str({"A":1,"B":2,"C":9}) #Преобразуем словарь print(strk5) print('\n') print('3.2 Функция list.') spis1=list("Строка символов") #Заданная строка разделяется на символы print(spis1) spis2=list((124,236,-15,908)) #Кортеж превращается в список print(spis2) spis3=list({"A":1,"B":2,"C":9}) #Преобразование словаря в список print(spis3) print('\n') print('3.3 Функция tuple.') kort7=tuple('Строка символов') #Преобразование строки символов в кортеж print(kort7) kort8=tuple(spis2) #Преобразование списка в кортеж print(kort8) kort9=tuple({"A":1,"B":2,"C":9}) #Преобразование словаря в кортеж print(kort9) print('\n') print('3.4 Функция del.') del strk5, kort8 print('strk5' in globals()) print('kort8' in globals()) print('\n') print('#Преобразование ФИО ') FIO = "Зеленкина Кс. М." print(FIO) listFIO = list(FIO) print(listFIO) kortFIO = tuple(listFIO) print(kortFIO) strFIO = str(kortFIO) print(strFIO) print('\n') print('4.1 Сложение и вычитание') print(12+7+90) # Сложение целых чисел print(5.689e-1 - 0.456) #Вычитание вещественных чисел print(23.6+54) #Сложение вещественного и целого чисел print(14-56.7+89) # Сложение и вычитание целых и вещественных чисел print('\n') print('4.2 Умножение') print(-6.7*12) #Умножение вещественного числа на целое число print('\n') print('4.3 Деление') print( -234.5/6) #Деление вещественного числа на целое a=(178/45) #Деление двух целых чисел – проверьте тип объекта a! print(a, type(a)) print('\n') print('4.4 Округление') b=178//45 #Деление двух целых чисел c=-24.6//12.1 #Деление двух вещественных чисел print(b, c) print('\n') print('#Смешанные комбинации') # Целое // Вещественное d = 100 // 2.5 e = -50 // 3.2 print(type(d), type(e)) print(d, e) # Вещественное // Целое f = 15.8 // 4 g = -7.5 // 2 print(type(f), type(g)) print(f, g) # Отрицательные числа h = -100 // 3 i = 100 // -3 print(type(h), type(i)) print(h, i) print('\n') print('4.5 Остаток от деления') print(148%33) #Остаток от деления двух целых чисел print(12.6%3.8) #Остаток от деления двух вещественных чисел print('\n') print('#Смешанные комбинации') c = 100 % 2.5 d = 17 % 3.2 print(type(c), type(d)) print(c, d) # Вещественное % Целое e = 15.8 % 4 f = 7.5 % 2 print(type(e), type(f)) print(e, f) # Отрицательные числа g = -100 % 3 h = 100 % -3 i = -12.6 % 3.8 print(type(g), type(h), type(i)) print(g, h, i) print('\n') print('4.6 Возведение в степень') print(14**3) #Целое число возводится в целую степень e=2.7**3.6 #Вещественное число возводится в вещественную степень print(e) print('\n') print('#Операции с комплексными числами') print((3+4j) + (2-1j)) print((5+2j) - (1+3j)) print((2+3j) * (1-2j)) print((4+0j) * 2.5) print((6+8j) / (2+0j)) print((10+5j) / 2) print((1+1j)**2 ) #print((5+3j) // (2+1j)) #print((8+4j) % (3+1j)) print('\n') print('5.1 Двоичная инверсия') dv1=9 dv2=~dv1 print(dv1, dv2) print('\n') print('5.2 Двоичное "И"') print(7&9) # 111 и 1001 = 0001 print(7&8) # 111 и 1000 = 0000 print('\n') print('5.3 Двоичное "ИЛИ"') print(7|9) # 111 или 1001 = 1111 print(7|8) # 111 или 1000 = 1111 print(14|5) # 1110 или 0101 = 1111 print('\n') print('5.4 Двоичное "исключающее ИЛИ"') print(14^5) # 1110 исключающее или 0101 = 1011 print('\n') print('5.5 Сдвиг двоичного представления') h =14 #Двоичное представление = 1110 print(h) g=h<<2 # Новое двоичное представление = 111000 print(g) g1=h>>1 # Новое двоичное представление = 0111 print(g1) g2=h>>2 # Новое двоичное представление = 0011 print(g2) print('\n') print('#Пример с 7 - ми битными числами') a = 0b1101010 # 106 (десятичное b = 0b1011011 # 91 (десятичное) print(a & b) print(a | b) print(a ^ b) print(a << 2) print(b >> 1) print(~a) print('\n') print('6.1 Объединение последовательностей (конкатенация)(+)') print('Система '+'регулирования') #Соединение двух строк символов print(['abc','de','fg']+['hi','jkl']) # Объединение двух списков print(('abc','de','fg')+('hi','jkl')) # Объединение двух кортежей print('\n') print('6.2 Повторение (*)') print('ля-'*5) #Повторение строки 5 раз print(['ку','-']*3) #Повторение списка 3 раза print(('кис','-')*4) #Повторение кортежа 4 раза signal1=[0]*3+[1]*99 print(signal1) signal2=(0,)*3+(1,)*5+(0,)*7 print(signal2) print('\n') print('6.3 in') stroka='Система автоматического управления' print(stroka) print('автомат' in stroka) #Наличие подстроки в строке print('ку' in ['ку','-']*3) #Наличие контекста в списке print('ля-' in ('abc', 'de', 'fg', 'hi', 'jkl')) #Наличие контекста в кортеже print('\n') print('6.4 Подстановка значений в строку с помощью оператора «%»') print('Пример 1') stroka='Температура = %g %s %g' print(stroka) print(stroka % (16,' меньше ',25)) print('Пример 2') stroka='Температура = %(zn1)g %(sravn)s %(zn2)g' print(stroka) print(stroka % {'zn1':16,'sravn':' меньше ','zn2':25}) print('\n') print('7.1 Обычное присваивание значения переменной (=)') zz=-12 print('zz = ', zz) print('\n') print('7.2 Увеличение значения переменной на заданную величину (+=) или уменьшение (-=)') zz+=5 # Значение zz увеличивается на 5 print('zz + 5 = ', zz) zz-=3 # Значение уменьшается на 3 print('zz - 3 = ', zz) stroka='Система' print(stroka) stroka+=' регулирования' print(stroka) print('\n') print('7.3 Умножение текущего значения переменной на заданную величину (*=) или деление (/=)') zz/=2 print(zz) zz*=5 print(zz) stroka *= 2 print('stroka * 2 = ', stroka) print('\n') print('7.4 Операции //=, %=, **=') zz = zz1 =zz2 = 17 zz //= 5 print(zz) zz1 %= 5 print(zz1) zz2 **= 4 print(zz2) print('\n') print('7.5 Множественное присваивание') w = v = 10 # Переменным присваивается одно и то же значение print(w, v) n1,n2,n3 = (11,-3,'all') #Значения переменных берутся из кортежа print(n1, n2, n3) n1, n2, n3 = "11-" print(n1, n2, n3) n1, n2, n3 = [11, -3, 'all'] print(n1, n2, n3) n1, n2, n3 = {11, -3, 'all'} print(n1, n2, n3) n1, n2, n3 = {11: 'a', -3: 'b', 'all': 'c'} print(n1, n2, n3) print('\n') print('8.1 Операции сравнение') print(w == v) print(w != v) print(w < v) print(w > v) print(w <= v) print( w >= v) print('\n') print('8.2 Операции со множеством') mnoz1={'pen','book','pen','iPhone','table','book'} print('book' in mnoz1) print('cap' in mnoz1) print('Операции со словарем') dic1={'Saratov':145, 'Orel':56, 'Vologda':45} print('Vologda' in dic1) print('Pskov' in dic1) print(56 in dic1.values()) print('Ещё пример работы со словарем:') dct1={'Institut':['AVTI','IEE','IBB'],'Depart':['UII','PM','VMSS','MM'],'gruppa': ['A-01-15','A-02-15']} print('UII' in dct1['Depart']) dct1['Depart'][1] == 'MM' print(dct1) print('\n') print('8.3 Логические "И", "ИЛИ", "НЕ"') a=17 b=-6 print((a>=b) and ('book' in mnoz1) and not ('Pskov' in dic1)) print('\n') print('#Сложные примеры') x = 10 y = 20 z = 30 result = (x < y) and (y < z) or (x == 10) and not (z == 40) print(result) a = 5 b = 12 c = 8 d = 20 result = (a < b) and (b < d) or (c == 8) and not (d == 15) print(result) print('\n') print('8.4 Проверка ссылок переменных на один и тот же объект (is)') w=v=10 #При таком присваивании переменные ссылаются на один и тот же объект в оперативной памяти print(w is v) w1=['A','B'] v1=['A','B'] print(w1 is v1) print('\n') print('9 dir') stroka='Микропроцессорная система управления' print(dir(stroka)) print('\n') print('9.1 Методы для работы со строками') print(stroka.find('пр')) #Возвращает номер позиции первого вхождения указанного контекста или значение -1 print(stroka.count("с")) #Подсчет числа вхождений строки “с” в stroka print(stroka.replace(' у',' автоматического у')) spis22=stroka.split(' ') #Возвращает список подстрок, между которыми в строке стоит заданный разделитель print(spis22) print(stroka.upper()) #Возвращает строку со всеми заглавными буквами stroka3=" ".join(spis22) #Возвращает строку, собранную из элементов списка print(stroka3) print(stroka3.partition("с")) #Возвращает кортеж с результатами поиска «с» слева print(stroka3.rpartition("с")) #Возвращает кортеж с результатами поиска «с» справа print('\n') print('#format') strk1 = 'Момент времени {}, значение = {}' result1 = strk1.format(1, 89.7) print(result1) print() strk2 = 'Момент времени {1}, значение = {0}:{2}' result2 = strk2.format(36.7, 2, 'норма!') print(result2) print() strk3 = 'Момент времени {num}, значение = {znch}' result3 = strk3.format(znch=89.7, num=2) print(result3) print() print('9.2 Методы для работы со списками. ') spsk = [10, 'apple', 3.14, 'banana', 42] print(spsk) print("Атрибуты списка:", dir(spsk)) print(spsk.pop(2)) spsk.append('c') print(spsk) spsk.insert(2,'a') print(spsk) print(spsk.count('a')) print() print('9.3 Изучение применение методов кортежа') kort = (1, 2, 3, 2, 4, 2, 5) print(kort) print(dir(kort)) print(kort.count(2)) print(kort.index(3)) # 2 (число 3 на позиции 2 print(kort.index(2, 3)) # 5 (число 2 начиная с позиции 3) print() print('9.4 Изучение применение методов словарей и множеств') print('#Словарь') d = {'a': 1, 'b': 2, 'c': 3} print(d) print(dir(d)) print(d.keys()) print(d.values()) d.update({'d': 4}) # Добавляет/обновляет элементы print(d) removed = d.pop('b') # Удаляет ключ и возвращает значение print(removed) print() print('#Множество') s1 = {1, 2, 3, 4} s2 = {3, 4, 5, 6} print(dir(s1)) print("Множество 1:", s1) print("Множество 2:", s2) print(s1.union(s2)) #Объединение print(s1.intersection(s2)) # {3, 4} - пересечение print(s1.difference(s2)) #разность s1.add(5) print(s1) s1.remove(1) print(s1)