From 471371a9a790a94d809e3ccc13637aa98cc9a0b9 Mon Sep 17 00:00:00 2001 From: Ksenia Date: Sat, 13 Sep 2025 18:21:15 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A4=D0=B0=D0=B9=D0=BB=20IDLE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TEMA3/Pr1.py | 444 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 444 insertions(+) create mode 100644 TEMA3/Pr1.py diff --git a/TEMA3/Pr1.py b/TEMA3/Pr1.py new file mode 100644 index 0000000..423e789 --- /dev/null +++ b/TEMA3/Pr1.py @@ -0,0 +1,444 @@ +#Тема 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)