ответвлено от main/python-labs
Готово
Этот коммит содержится в:
371
TEMA3/report.md
371
TEMA3/report.md
@@ -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'>
|
||||
```
|
||||
|
||||
38
TEMA3/task7.py
Обычный файл
38
TEMA3/task7.py
Обычный файл
@@ -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)
|
||||
110
TEMA3/task8.py
Обычный файл
110
TEMA3/task8.py
Обычный файл
@@ -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))
|
||||
Ссылка в новой задаче
Block a user