TerekhovFV 4 недель назад
Родитель fdc1fc95c0
Сommit 565ce667de

@ -979,3 +979,374 @@ print(n1, n2, n3)
11 -3 all
```
## 7. Логические операции – при создании логических выражений, дающих в результате вычисления значения True или False.
### 7.1. Операции сравнение: равенство (==), не равно (!=), меньше (<), больше (>), меньше или равно (<=), больше или равно (>=).
```python
w=v=10
print(w>=v)
print(w==v)
print(w<=v)
print(w!=v)
print(w<v)
print(w>v)
```
Ответ программы:
```shell
True
True
True
False
False
False
```
### 7.2. Проверка наличия заданного элемента в последовательности или во множестве, а также проверка наличия ключа в словаре (in).
* **Операции с множеством**
```python
mnoz1={'pen','book','pen','iPhone','table','book'}
print('book' in mnoz1)
print('cap' in mnoz1)
```
Ответ программы:
```shell
True
False
```
* **Операции со словарём**
```python
dic1={'Saratov':145, 'Orel':56, 'Vologda':45}
print('Vologda' in dic1)
print('Pskov' in dic1)
print(56 in dic1.values())
```
Ответ программы:
```shell
True
False
True
```
*Ещё один пример работы со словарём*
```python
dct1={'Institut':['AVTI','IEE','IBB'],'Depart':['UII','PM','VMSS','MM'],'gruppa': ['A-01-15','A-02-15']}
print('UII' in dct1['Depart'])
print(dct1['Depart'][1] == 'MM')
```
Ответ программы:
```shell
True
False
```
### 7.3. Создание больших логических выражений с использованием соединительных слов: логическое «И» (and), логическое «ИЛИ» (or), логическое «НЕ» (not).
```python
a=17
b=-6
print((a>=b) and ('book' in mnoz1) and ('Pskov' not in dic1))
print((a % 2 == 1) and (b < 0) and (('Moscow' in dic1) or ('Pskov' not in dic1)))
print(not (a <= b) and (('pen' in mnoz1) or ('book' not in mnoz1)) and ('Kazan' not in dic1))
print((len(mnoz1) >= 3) and (a + b > 0) or (('Pskov' in dic1) and (dic1['Pskov'] > 50)))
```
Ответ программы:
```shell
True
True
True
True
```
### 7.4. Проверка ссылок переменных на один и тот же объект (is).
```python
w=v=10 #При таком присваивании переменные ссылаются на один и тот же объект в оперативной памяти
print(w is v)
w1=['A','B']
v1=['A','B']
print(w1 is v1)
```
Ответ программы:
```shell
True
False
```
***is сравнивает тождество объектов, а не равенство значений. При w = v = 10 обе переменные указывают на один и тот же объект, а w1 = ['A','B'] и v1 = ['A','B'] создают две разные списочные коробки с одинаковым содержимым.***
***Чтобы тождество объектов было верным необходимо, чтобы АДРЕС объектов был тот же. Адрес можно проверить с помощью функции id(). == спрашивает "содержимое одинаковое?", а is спрашивает "это один и тот же объект?".***
## 8. Операции с объектами, выполняемые с помощью методов.
***Полный список всех атрибутов любого объекта можно получить с использованием функции dir.***
```python
stroka='Микропроцессорная система управления'
print(dir(stroka))
```
Ответ программы:
```shell
['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmod__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'capitalize', 'casefold', 'center', 'count', 'encode', 'endswith', 'expandtabs', 'find', 'format', 'format_map', 'index', 'isalnum', 'isalpha', 'isascii', 'isdecimal', 'isdigit', 'isidentifier', 'islower', 'isnumeric', 'isprintable', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'maketrans', 'partition', 'removeprefix', 'removesuffix', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill']
```
### 8.1. Методы для работы со строками.
* *Методы find, count, replace, split, upper, join, partition, rpartition.*
```python
stroka='Микропроцессорная система управления'
print(stroka.find('пр')) #Возвращает номер позиции первого вхождения указанного контекста или значение -1
print(stroka.count("с")) #Подсчет числа вхождений строки “с” в stroka
stroka.replace(' у',' автоматического у')
print(stroka)
spis22=stroka.split(' ') #Возвращает список подстрок, между которыми в строке стоит заданный разделитель
print(spis22)
print(stroka.upper()) #Возвращает строку со всеми заглавными буквами
stroka3=" ".join(spis22) #Возвращает строку, собранную из элементов списка
print(stroka3)
print(stroka3.partition("с")) #Возвращает кортеж с результатами поиска «с» слева
print(stroka3.rpartition("с")) #Возвращает кортеж с результатами поиска «с» справа
```
Ответ программы:
```shell
5
4
Микропроцессорная система управления
['Микропроцессорная', 'система', 'управления']
МИКРОПРОЦЕССОРНАЯ СИСТЕМА УПРАВЛЕНИЯ
Микропроцессорная система управления
('Микропроце', 'с', 'сорная система управления')
('Микропроцессорная си', 'с', 'тема управления')
```
* *Метод format.*
```python
strk1 = 'Момент времени {}, значение = {}'
print(strk1.format(1, 89.7))
strk2='Момент времени {1}, значение = {0}:{2}'
print(strk2.format(36.7,2,'норма!'))
strk3='Момент времени {num}, значение = {znch}'
print(strk3.format(znch=89.7,num=2))
```
Ответ программы:
```shell
нт времени 1, значение = 89.7
Момент времени 2, значение = 36.7:норма!
Момент времени 2, значение = 89.7
```
### 8.2. Методы для работы со списками.
* Метод pop(индекс) удаляет элемент по индексу.
* Метод append(элемент) добавляет элемент в конец списка.
* Метод insert(индекс, элемент) вставляет элемент в заданный индекс. Последующие индекс сдвигаются вправо.
* Метод count(элемент) подсчитывает количество заданных элементов в списке.
```python
spsk=['a','b','c','d','e','f']
print(spsk)
spsk.pop(2)
print(spsk)
spsk.append('c')
print(spsk)
spsk.insert(2,'a')
print(spsk)
print(spsk.count('a'))
```
Ответ программы:
```shell
['a', 'b', 'c', 'd', 'e', 'f']
['a', 'b', 'd', 'e', 'f']
['a', 'b', 'd', 'e', 'f', 'c']
['a', 'b', 'a', 'd', 'e', 'f', 'c']
2
```
### 8.3. Методы для работы с кортежами.
*У кортежа всего два собственных метода: count(элемент) и index(элемент).*
```python
t = (10, 20, 20, 30, 40)
print(t.count(20)) # сколько раз встречается 20
print(t.index(30)) # индекс первого вхождения 30
```
Ответ программы:
```shell
2
3
```
### 8.4. Методы для работы со словарями.
* keys() - отображает ключи
* values() - отображает значения
* items() - отображает пары ключей и значений
* get(k, default=None) - безопасное чтение - вернуть d[k], а если ключа нет — default, без ошибки.
* d[k] = v - присвоение значения по ключу (добавит или перезапишет)
* d.setdefault(k, default=None) – вернуть d[k], а если ключа нет — создать его со значением default и вернуть.
* d.pop(k[, default]) - удалить ключ и вернуть значение; если нет и default не задан — ошибка.
* d.popitem() - удалить последнюю добавленную пару (LIFO) и вернуть её кортежем.
* d.clear() – очистить словарь.
```python
d = {'A': 1, 'B': 2, 'C': 3}
print("start:", d)
print(d.keys())
print(d.values())
print(d.items(),'\n')
print(d.get('B', 0))
print(d.get('Z', 0),'\n')
d['D'] = 4
d['A'] = 10
print(d,'\n')
print(d.setdefault('E', 5))
print(d.setdefault('A', 999),'\n')
print(d,'\n')
val = d.pop('B')
print(val, d)
print(d.pop('Z', 'нет'),'\n')
last_key, last_val = d.popitem()
print((last_key, last_val))
print(d,'\n')
d.clear()
print(d)
```
Ответ программы:
```shell
start: {'A': 1, 'B': 2, 'C': 3}
dict_keys(['A', 'B', 'C'])
dict_values([1, 2, 3])
dict_items([('A', 1), ('B', 2), ('C', 3)])
2
0
{'A': 10, 'B': 2, 'C': 3, 'D': 4}
5
10
{'A': 10, 'B': 2, 'C': 3, 'D': 4, 'E': 5}
2 {'A': 10, 'C': 3, 'D': 4, 'E': 5}
нет
('E', 5)
{'A': 10, 'C': 3, 'D': 4}
{}
```
### 8.5. Методы для работы с множествами.
* s = set([1, 2, 2, 3]) - создаёт множество без повторяющихся элементов.
* empty = set() - пустое множество.
* s.add(4) - добавляет элемент в множество.
* s.update([5,6]) - добавляет несколько элементов.
* s.remove(2) - удаляет элемент множества, если нет - KeyError.
* s.discard(99) - удаляет элемент, если нет — тихо.
* x = s.pop() - удаляет элемент множества.
* s.clear() - очищает множество.
* a.issubset(b) - множество a принадлежит множеству b.
* a.issuperset(b) - множество b ринадлежит множеству a.
* t = a.copy() - копирует множество.
* fs = frozenset({1,2,3}) - неизменяемое множество.
```python
s = set([1, 2, 2, 3])
print("s:", s)
empty = set()
print("empty:", empty)
s.add(4)
print("add(4):", s)
s.update([5, 6])
print("update([5,6]):", s)
s.remove(2)
print("remove(2):", s)
s.discard(99)
print("discard(99):", s)
x = s.pop()
print("pop() ->", x, "; s:", s)
s.clear()
print("clear():", s)
a = {1, 2}
b = {1, 2, 3}
print("a:", a, "b:", b)
print("a.issubset(b):", a.issubset(b))
print("a.issuperset(b):", a.issuperset(b))
print("b.issuperset(a):", b.issuperset(a))
a2 = a.copy()
print("copy() a2:", a2)
fs = frozenset({1, 2, 3})
print("frozenset fs:", fs, type(fs))
```
Ответ программы:
```shell
s: {1, 2, 3}
empty: set()
add(4): {1, 2, 3, 4}
update([5,6]): {1, 2, 3, 4, 5, 6}
remove(2): {1, 3, 4, 5, 6}
discard(99): {1, 3, 4, 5, 6}
pop() -> 1 ; s: {3, 4, 5, 6}
clear(): set()
a: {1, 2} b: {1, 2, 3}
a.issubset(b): True
a.issuperset(b): False
b.issuperset(a): True
copy() a2: {1, 2}
frozenset fs: frozenset({1, 2, 3}) <class 'frozenset'>
```

@ -0,0 +1,38 @@
w=v=10
print(w>=v)
print(w==v)
print(w<=v)
print(w!=v)
print(w<v)
print(w>v)
print('\n')
mnoz1={'pen','book','pen','iPhone','table','book'}
print('book' in mnoz1)
print('cap' in mnoz1)
print('\n')
dic1={'Saratov':145, 'Orel':56, 'Vologda':45}
print('Vologda' in dic1)
print('Pskov' in dic1)
print(56 in dic1.values())
print('\n')
dct1={'Institut':['AVTI','IEE','IBB'],'Depart':['UII','PM','VMSS','MM'],'gruppa': ['A-01-15','A-02-15']}
print('UII' in dct1['Depart'])
print(dct1['Depart'][1] == 'MM')
print('\n')
a=17
b=-6
print((a>=b) and ('book' in mnoz1) and ('Pskov' not in dic1))
print((a % 2 == 1) and (b < 0) and (('Moscow' in dic1) or ('Pskov' not in dic1)))
print(not (a <= b) and (('pen' in mnoz1) or ('book' not in mnoz1)) and ('Kazan' not in dic1))
print((len(mnoz1) >= 3) and (a + b > 0) or (('Pskov' in dic1) and (dic1['Pskov'] > 50)))
print('\n')
w=v=10 #При таком присваивании переменные ссылаются на один и тот же объект в оперативной памяти
print(w is v)
w1=['A','B']
v1=['A','B']
print(w1 is v1)

@ -0,0 +1,110 @@
stroka='Микропроцессорная система управления'
print(stroka.find('пр')) #Возвращает номер позиции первого вхождения указанного контекста или значение -1
print(stroka.count("с")) #Подсчет числа вхождений строки “с” в stroka
stroka.replace(' у',' автоматического у')
print(stroka)
spis22=stroka.split(' ') #Возвращает список подстрок, между которыми в строке стоит заданный разделитель
print(spis22)
print(stroka.upper()) #Возвращает строку со всеми заглавными буквами
stroka3=" ".join(spis22) #Возвращает строку, собранную из элементов списка
print(stroka3)
print(stroka3.partition("с")) #Возвращает кортеж с результатами поиска «с» слева
print(stroka3.rpartition("с")) #Возвращает кортеж с результатами поиска «с» справа
print('\n')
strk1 = 'Момент времени {}, значение = {}'
print(strk1.format(1, 89.7))
strk2='Момент времени {1}, значение = {0}:{2}'
print(strk2.format(36.7,2,'норма!'))
strk3='Момент времени {num}, значение = {znch}'
print(strk3.format(znch=89.7,num=2))
print('\n')
spsk=['a','b','c','d','e','f']
print(spsk)
spsk.pop(2)
print(spsk)
spsk.append('c')
print(spsk)
spsk.insert(2,'a')
print(spsk)
print(spsk.count('a'))
print('\n')
t = (10, 20, 20, 30, 40)
print(t.count(20)) # сколько раз встречается 20
print(t.index(30)) # индекс первого вхождения 30
print('\n')
d = {'A': 1, 'B': 2, 'C': 3}
print("start:", d)
print(d.keys())
print(d.values())
print(d.items(),'\n')
print(d.get('B', 0))
print(d.get('Z', 0),'\n')
d['D'] = 4
d['A'] = 10
print(d,'\n')
print(d.setdefault('E', 5))
print(d.setdefault('A', 999),'\n')
print(d,'\n')
val = d.pop('B')
print(val, d)
print(d.pop('Z', 'нет'),'\n')
last_key, last_val = d.popitem()
print((last_key, last_val))
print(d,'\n')
d.clear()
print(d)
s = set([1, 2, 2, 3])
print("s:", s)
empty = set()
print("empty:", empty)
s.add(4)
print("add(4):", s)
s.update([5, 6])
print("update([5,6]):", s)
s.remove(2)
print("remove(2):", s)
s.discard(99)
print("discard(99):", s)
x = s.pop()
print("pop() ->", x, "; s:", s)
s.clear()
print("clear():", s)
a = {1, 2}
b = {1, 2, 3}
print("a:", a, "b:", b)
print("a.issubset(b):", a.issubset(b))
print("a.issuperset(b):", a.issuperset(b))
print("b.issuperset(a):", b.issuperset(a))
a2 = a.copy()
print("copy() a2:", a2)
fs = frozenset({1, 2, 3})
print("frozenset fs:", fs, type(fs))
Загрузка…
Отмена
Сохранить