форкнуто от main/python-labs
Вы не можете выбрать более 25 тем
Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
982 строки
26 KiB
Markdown
982 строки
26 KiB
Markdown
# Отчет по теме 3
|
|
|
|
***Цель темы: изучение способов использования объектов разных типов.***
|
|
|
|
Терехов Фёдор Валерьевич, А-01-23
|
|
|
|
## 1. Цель темы: изучение способов использования объектов разных типов.
|
|
|
|
### 1.1. Преобразование в логический тип с помощью функции bool(<Объект>).
|
|
|
|
```python
|
|
logiz1=bool(56)
|
|
print(f"{logiz1}\n")
|
|
|
|
logiz2=bool(0)
|
|
print(f"{logiz2}\n")
|
|
|
|
logiz3=bool("Beta")
|
|
print(f"{logiz3}\n")
|
|
|
|
logiz4=bool("")
|
|
print(f"{logiz4}\n")
|
|
```
|
|
|
|
Ответ программы:
|
|
|
|
```shell
|
|
True
|
|
|
|
False
|
|
|
|
True
|
|
|
|
False
|
|
```
|
|
|
|
### 1.2. Преобразование в целое десятичное число объекта с заданной системой счисления.
|
|
|
|
*Преобразование в целое десятичное число объекта с заданной системой счисления осуществляется с помощью функции int(<Объект>[,<Система счисления, в которой определен объект>]). По умолчанию система счисления принимается десятичной.*
|
|
|
|
```python
|
|
tt1=int(198.6) #Отбрасывается дробная часть
|
|
print(f"{tt1}\n")
|
|
|
|
tt2=int("-76") #Число – в строке символов, система по умолчанию - десятичная
|
|
print(f"{tt2}\n")
|
|
|
|
tt3=int("B",16)
|
|
print(f"{tt3}\n")
|
|
|
|
tt4=int("71",8)
|
|
print(f"{tt4}\n")
|
|
|
|
tt5=int("98.76")
|
|
print(f"{tt5}\n")
|
|
```
|
|
|
|
Ответ программы:
|
|
|
|
```shell
|
|
198
|
|
|
|
-76
|
|
|
|
11
|
|
|
|
57
|
|
|
|
Traceback (most recent call last):
|
|
File "/home/user/Desktop/VUZ/3CURSE/POAS_labs/python-labs/TEMA3/task1.py", line 26, in <module>
|
|
tt5=int("98.76")
|
|
^^^^^^^^^^^^
|
|
ValueError: invalid literal for int() with base 10: '98.76'
|
|
```
|
|
|
|
*Объясните, почему при выполнении последней инструкции выдано диагностическое сообщение.*
|
|
|
|
"98.76" - это строка. Функция int принимает либо строку с целым числом, либо число с точкой, но не строку с числом с точкой. Вариант решения - использовать функцию float(), которая преобразует строку в вещественное число, а затем функцию int() для преобразование в целое:
|
|
|
|
```python
|
|
tt5=int(float("98.76"))
|
|
print(f"{tt5}\n")
|
|
```
|
|
|
|
Ответ программы:
|
|
```shell
|
|
98
|
|
```
|
|
|
|
*Преобразование целых чисел или строк символов в вещественное число – с помощью функции float(<Объект>).*
|
|
|
|
```python
|
|
flt1=float(789)
|
|
print(f"{flt1}\n")
|
|
|
|
flt2=float(-6.78e2)
|
|
print(f"{flt2}\n")
|
|
|
|
flt3=float("Infinity")
|
|
print(f"{flt3}\n")
|
|
|
|
flt4=float("-inf")
|
|
print(f"{flt4}\n")
|
|
```
|
|
|
|
Ответ программы:
|
|
|
|
```shell
|
|
789.0
|
|
|
|
-678.0
|
|
|
|
inf
|
|
|
|
-inf
|
|
```
|
|
|
|
### 1.3. Преобразование десятичных чисел в другие системы счисления.
|
|
|
|
```python
|
|
hh=123
|
|
dv1=bin(hh) #Преобразование в строку с двоичным представлением
|
|
print(f"{dv1}\n")
|
|
|
|
vos1=oct(hh) # Преобразование в строку с восьмеричным представлением
|
|
print(f"{vos1}\n")
|
|
|
|
shs1=hex(hh) # Преобразование в строку с шестнадцатеричным представлением
|
|
print(f"{shs1}\n")
|
|
```
|
|
|
|
Ответ программы:
|
|
|
|
```shell
|
|
0b1111011
|
|
|
|
0o173
|
|
|
|
0x7b
|
|
```
|
|
|
|
*Для проверки выполним обратные преобразования объектов dv1, vos1, shs1 по образцу int(dv1,2):*
|
|
|
|
```python
|
|
print(f"{int(dv1, 2)}\n")
|
|
print(f"{int(vos1, 8)}\n")
|
|
print(f"{int(shs1, 16)}\n")
|
|
```
|
|
|
|
Ответ программы:
|
|
```shell
|
|
123
|
|
|
|
123
|
|
|
|
123
|
|
```
|
|
|
|
## 2. Преобразование более сложных базовых типов объектов.
|
|
|
|
### 2.1. Преобразование в строку символов с помощью функции str(<Объект>).
|
|
|
|
```python
|
|
strk1=str(23.6)
|
|
print(f"{strk1}\n")
|
|
|
|
strk2=str(logiz3)
|
|
print(f"{strk2}\n")
|
|
|
|
strk3=str(["A","B","C"]) #Преобразуем список
|
|
print(f"{strk3}\n")
|
|
|
|
strk4=str(("A","B","C")) #Преобразуем кортеж
|
|
print(f"{strk4}\n")
|
|
|
|
strk5=str({"A":1,"B":2,"C":9}) #Преобразуем словарь
|
|
print(f"{strk5}\n")
|
|
```
|
|
|
|
Ответ программы:
|
|
|
|
```shell
|
|
23.6
|
|
|
|
True
|
|
|
|
['A', 'B', 'C']
|
|
|
|
('A', 'B', 'C')
|
|
|
|
{'A': 1, 'B': 2, 'C': 9}
|
|
```
|
|
|
|
### 2.2. Преобразование элементов объекта в список с помощью функции list(<Объект>).
|
|
|
|
```python
|
|
spis1=list("Строка символов") #Заданная строка разделяется на символы
|
|
print(f"{spis1}\n")
|
|
|
|
spis2=list((124,236,-15,908)) #Кортеж превращается в список
|
|
print(f"{spis2}\n")
|
|
|
|
spis3=list({"A":1,"B":2,"C":9}) #Преобразование словаря в список
|
|
print(f"{spis3}\n")
|
|
```
|
|
|
|
Ответ программы:
|
|
|
|
```shell
|
|
['С', 'т', 'р', 'о', 'к', 'а', ' ', 'с', 'и', 'м', 'в', 'о', 'л', 'о', 'в']
|
|
|
|
[124, 236, -15, 908]
|
|
|
|
['A', 'B', 'C']
|
|
```
|
|
|
|
*Обратите внимание на то, что из словаря попало в созданный список. Придумайте инструкцию, обеспечивающую создание из того же словаря списка с другими его частями.*
|
|
|
|
list(словарь) берёт только ключи словаря.
|
|
|
|
**.items()** — это метод словаря, который даёт представление (view) пар (ключ, значение). Возвращает не список, а объект-«вид» (dict_items). Он живой: если словарь меняется, меняется и этот вид.
|
|
|
|
```python
|
|
spis3=list({"A":1,"B":2,"C":9}.items()) #Преобразование словаря в список
|
|
print(f"{spis3}\n")
|
|
```
|
|
|
|
Ответ программы:
|
|
|
|
```shell
|
|
[('A', 1), ('B', 2), ('C', 9)]
|
|
```
|
|
|
|
### 2.3. Преобразование элементов объектов в кортеж с помощью функции tuple(<Объект>).
|
|
|
|
```python
|
|
kort7=tuple('Строка символов') #Преобразование строки символов в кортеж8
|
|
print(f"{kort7}\n")
|
|
|
|
kort8=tuple(spis2) #Преобразование списка в кортеж
|
|
print(f"{kort8}\n")
|
|
|
|
kort9=tuple({"A":1,"B":2,"C":9}) #Преобразование словаря в кортеж
|
|
print(f"{kort9}\n")
|
|
```
|
|
|
|
Ответ программы:
|
|
|
|
```shell
|
|
('С', 'т', 'р', 'о', 'к', 'а', ' ', 'с', 'и', 'м', 'в', 'о', 'л', 'о', 'в')
|
|
|
|
(124, 236, -15, 908)
|
|
|
|
('A', 'B', 'C')
|
|
```
|
|
|
|
### 2.4. Удаление объектов.
|
|
|
|
*Очистить оперативную память от ранее созданных объектов можно с помощью инструкции del.*
|
|
|
|
```python
|
|
print(f"Объекты в пространстве до удаления:\n{dir()}\n")
|
|
del strk5, kort8
|
|
print(f"Объекты в пространстве после удаления:\n{dir()}\n")
|
|
```
|
|
|
|
Ответ программы:
|
|
|
|
```shell
|
|
Объекты в пространстве до удаления:
|
|
['__annotations__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'kort7', 'kort8', 'kort9', 'logiz3', 'spis1', 'spis2', 'spis3', 'strk1', 'strk2', 'strk3', 'strk4', 'strk5']
|
|
|
|
Объекты в пространстве после удаления:
|
|
['__annotations__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'kort7', 'kort9', 'logiz3', 'spis1', 'spis2', 'spis3', 'strk1', 'strk2', 'strk3', 'strk4']
|
|
```
|
|
|
|
### Задание.
|
|
|
|
*Создайте строку со своей фамилией и инициалами, преобразуйте её в список, затем список – в кортеж и, наконец, кортеж – в строку.*
|
|
|
|
```python
|
|
name="TerekhovFV"
|
|
print(f"{name}\n{type(name)}\n")
|
|
|
|
list_name=list(name)
|
|
print(f"{list_name}\n{type(list_name)}\n")
|
|
|
|
tuple_name=tuple(list_name)
|
|
print(f"{tuple_name}\n{type(tuple_name)}\n")
|
|
|
|
string_name=str(tuple_name)
|
|
print(f"{string_name}\n{type(string_name)}\n")
|
|
```
|
|
|
|
Ответ программы:
|
|
|
|
```shell
|
|
TerekhovFV
|
|
<class 'str'>
|
|
|
|
['T', 'e', 'r', 'e', 'k', 'h', 'o', 'v', 'F', 'V']
|
|
<class 'list'>
|
|
|
|
('T', 'e', 'r', 'e', 'k', 'h', 'o', 'v', 'F', 'V')
|
|
<class 'tuple'>
|
|
|
|
('T', 'e', 'r', 'e', 'k', 'h', 'o', 'v', 'F', 'V')
|
|
<class 'str'>
|
|
```
|
|
|
|
## 3. Арифметические операции.
|
|
|
|
### 3.1. Сложение и вычитание (+ и -).
|
|
|
|
```python
|
|
print(12+7+90) # Сложение целых чисел
|
|
print(5.689e-1 - 0.456) #Вычитание вещественных чисел
|
|
print(23.6+54) #Сложение вещественного и целого чисел
|
|
print(14-56.7+89) # Сложение и вычитание целых и вещественных чисел
|
|
```
|
|
|
|
Ответ программы:
|
|
|
|
```shell
|
|
109
|
|
0.11289999999999994
|
|
77.6
|
|
46.3
|
|
```
|
|
|
|
### 3.2. Умножение (*).
|
|
|
|
```python
|
|
print(-6.7*12) #Умножение вещественного числа на целое число
|
|
```
|
|
|
|
Ответ программы:
|
|
|
|
```shell
|
|
-80.4
|
|
```
|
|
|
|
### 3.3. Деление (/).
|
|
|
|
```python
|
|
print(-234.5/6) #Деление вещественного числа на целое
|
|
a=178/45 #Деление двух целых чисел
|
|
print(f"a={a}\n{type(a)}\n")
|
|
```
|
|
|
|
Ответ программы:
|
|
|
|
```shell
|
|
-39.083333333333336
|
|
a=3.9555555555555557
|
|
<class 'float'>
|
|
```
|
|
|
|
### 3.4. Деление с округлением вниз (//).
|
|
|
|
*Здесь результат может быть целым или вещественным.*
|
|
|
|
```python
|
|
b=178//45 #Деление двух целых чисел
|
|
print(f"b={b}\n{type(b)}\n")
|
|
|
|
c=-24.6//12.1 #Деление двух вещественных чисел
|
|
print(f"c={c}\n{type(c)}\n")
|
|
```
|
|
|
|
Ответ программы:
|
|
|
|
```shell
|
|
b=3
|
|
<class 'int'>
|
|
|
|
c=-3.0
|
|
<class 'float'>
|
|
```
|
|
|
|
*Самостоятельно попробуйте смешанные комбинации типов чисел в этой операции.*
|
|
|
|
|
|
```python
|
|
b=b//c
|
|
print(f"b={b}\n{type(b)}\n")
|
|
|
|
c=c//int(b)
|
|
print(f"c={c}\n{type(c)}\n")
|
|
```
|
|
|
|
Ответ программы:
|
|
|
|
```shell
|
|
b=-1.0
|
|
<class 'float'>
|
|
|
|
c=3.0
|
|
<class 'float'>
|
|
```
|
|
|
|
**Значит если хотя бы одно из чисел вещественное, то ответ будет вещественным.**
|
|
|
|
### 3.5. Получение остатка от деления (%).
|
|
|
|
```python
|
|
print(148%33) #Остаток от деления двух целых чисел
|
|
print(12.6%3.8) #Остаток от деления двух вещественных чисел
|
|
```
|
|
|
|
Ответ программы:
|
|
|
|
```shell
|
|
16
|
|
1.2000000000000002
|
|
```
|
|
|
|
*Самостоятельно попробуйте смешанные комбинации типов чисел в этой операции.*
|
|
|
|
```python
|
|
print(1%0.3)
|
|
print(3.0%1)
|
|
```
|
|
|
|
Ответ программы:
|
|
|
|
```shell
|
|
0.10000000000000003
|
|
0.0
|
|
```
|
|
|
|
**Значит если хотя бы одно из чисел вещественное, то ответ будет вещественным.**
|
|
|
|
### 3.6. Возведение в степень (**).
|
|
|
|
```python
|
|
print(14**3) #Целое число возводится в целую степень
|
|
e=2.7**3.6 #Вещественное число возводится в вещественную степень
|
|
print(e)
|
|
```
|
|
|
|
Ответ программы:
|
|
|
|
```shell
|
|
2744
|
|
35.719843790663525
|
|
```
|
|
|
|
*Самостоятельно попробуйте смешанные комбинации типов чисел в этой операции.*
|
|
|
|
```python
|
|
print(4**2.5)
|
|
print(4.0**2)
|
|
```
|
|
|
|
Ответ программы:
|
|
|
|
```shell
|
|
32.0
|
|
16.0
|
|
```
|
|
|
|
**Значит если хотя бы одно из чисел вещественное, то ответ будет вещественным.**
|
|
|
|
### Задание.
|
|
|
|
*Попробуйте операции с участием комплексных чисел. Какие из приведенных выше операций можно применять к комплексным числам, а какие – нет?*
|
|
|
|
* ***Классические сложение, вычитание, умножение, деление:***
|
|
|
|
```python
|
|
print((5-9j)+(2+5j))
|
|
print((5-9j)-(2+5j))
|
|
print((5-9j)*(2+5j))
|
|
print((5-9j)/(2+5j))
|
|
```
|
|
|
|
Ответ программы:
|
|
|
|
```shell
|
|
(7-4j)
|
|
(3-14j)
|
|
(55+7j)
|
|
(-1.206896551724138-1.4827586206896552j)
|
|
```
|
|
|
|
* ***Остаток от деления:***
|
|
|
|
```python
|
|
print((5-9j)%(2+5j))
|
|
```
|
|
|
|
Ответ программы:
|
|
|
|
```shell
|
|
Traceback (most recent call last):
|
|
File "/home/user/Desktop/VUZ/3CURSE/POAS_labs/python-labs/TEMA3/task3.py", line 46, in <module>
|
|
print((5-9j)%(2+5j))
|
|
~~~~~~^^~~~~~
|
|
TypeError: unsupported operand type(s) for %: 'complex' and 'complex'
|
|
```
|
|
|
|
**Нельзя получить остаток от деления компексных чисел.**
|
|
|
|
* ***Деление с округлением в меньшую сторону:***
|
|
|
|
```python
|
|
print((5-9j)//(2+5j))
|
|
```
|
|
|
|
Ответ программы:
|
|
|
|
```shell
|
|
Traceback (most recent call last):
|
|
File "/home/user/Desktop/VUZ/3CURSE/POAS_labs/python-labs/TEMA3/task3.py", line 47, in <module>
|
|
print((5-9j)//(2+5j))
|
|
~~~~~~^^~~~~~~
|
|
TypeError: unsupported operand type(s) for //: 'complex' and 'complex'
|
|
```
|
|
|
|
* ***Возведение в степень:***
|
|
|
|
```python
|
|
print((5-9j)**(2+5j))
|
|
```
|
|
|
|
Ответ программы:
|
|
|
|
```shell
|
|
(-21509.595911266613-2297.8216985074932j)
|
|
```
|
|
|
|
**Можно комплексное число возвести в комплексную степень.**
|
|
|
|
***Нетрудно заметить, что в результате операции над числами разных типов получается число, имеющее наиболее сложный тип из тех типов, которые участвуют в операции.***
|
|
|
|
## 4. Операции с двоичными представлениями целых чисел.
|
|
|
|
### 4.1. Двоичная инверсия (~). Значение каждого бита в представлении числа заменяется на противоположное значение (0 на 1, 1 на 0).
|
|
|
|
```python
|
|
dv1=9
|
|
dv2=~dv1
|
|
print(bin(dv1))
|
|
print(bin(dv2))
|
|
```
|
|
|
|
Ответ программы:
|
|
|
|
```shell
|
|
0b1001
|
|
-0b1010
|
|
```
|
|
|
|
### 4.2. Двоичное «И» (&) – побитовое совпадение двоичных представлений чисел.
|
|
|
|
```python
|
|
print(bin(7&9)) # 111 и 1001 = 0001
|
|
print(bin(7&8)) # 111 и 1000 = 0000
|
|
```
|
|
|
|
Ответ программы:
|
|
|
|
```shell
|
|
0b1
|
|
0b0
|
|
```
|
|
|
|
### 4.3. Двоичное «ИЛИ» (|) – побитовое сравнение двоичных представлений чисел и 0 получается, только если оба сравниваемых разряда равны 0.
|
|
|
|
```python
|
|
print(bin(7|9)) # 111 или 1001 = 1111
|
|
print(bin(7|8)) # 111 или 1000 = 1111
|
|
print(bin(14|5)) # 1110 или 0101 = 1111
|
|
```
|
|
|
|
Ответ программы:
|
|
|
|
```shell
|
|
0b1111
|
|
0b1111
|
|
0b1111
|
|
```
|
|
|
|
### 4.4. Двоичное «исключающее ИЛИ»(^) - побитовое сравнение двоичных представлений чисел и 0 получается, только если оба сравниваемых разряда имеют одинаковые значения – оба 0 или оба 1.
|
|
|
|
```python
|
|
print(bin(14^5)) # 1110 исключающее или 0101 = 1011
|
|
print(f"В десятичном представлении: {14^5}")
|
|
```
|
|
|
|
Ответ программы:
|
|
|
|
```shell
|
|
0b1011
|
|
В десятичном представлении: 11
|
|
```
|
|
|
|
### 4.5. Сдвиг двоичного представления на заданное число разрядов влево (<<) или вправо (>>) с дополнением нулями, соответственно справа или слева.
|
|
|
|
```python
|
|
h=14 #Двоичное представление = 1110
|
|
print(f"В десятичном представлении: {h}")
|
|
print(f"В двоичном представлении: {bin(h)}\n")
|
|
g=h<<2 # Новое двоичное представление = 111000
|
|
print(f"В десятичном представлении: {g}")
|
|
print(f"В двоичном представлении: {bin(g)}\n")
|
|
g1=h>>1 # Новое двоичное представление = 0111
|
|
print(f"В десятичном представлении: {g1}")
|
|
print(f"В двоичном представлении: {bin(g1)}\n")
|
|
g2=h>>2 # Новое двоичное представление = 0011
|
|
print(f"В десятичном представлении: {g2}")
|
|
print(f"В двоичном представлении: {bin(g2)}\n")
|
|
```
|
|
|
|
Ответ программы:
|
|
|
|
```shell
|
|
В десятичном представлении: 14
|
|
В двоичном представлении: 0b1110
|
|
|
|
В десятичном представлении: 56
|
|
В двоичном представлении: 0b111000
|
|
|
|
В десятичном представлении: 7
|
|
В двоичном представлении: 0b111
|
|
|
|
В десятичном представлении: 3
|
|
В двоичном представлении: 0b11
|
|
```
|
|
|
|
### Задание.
|
|
|
|
*Придумайте два двоичных числа, не менее чем с 7 знаками, и попробуйте выполнить с ними разные операции.*
|
|
|
|
```python
|
|
a = 91
|
|
b = 101
|
|
print(f"В десятичном представлении a: {a}")
|
|
print(f"В двоичном представлении a: {bin(a)}\n")
|
|
print(f"В десятичном представлении: {b}")
|
|
print(f"В двоичном представлении: {bin(b)}\n")
|
|
|
|
print(f"В десятичном представлении a & b = {a&b}")
|
|
print(f"В двоичном представлении a & b = {bin(a&b)}\n")
|
|
|
|
print(f"В десятичном представлении a | b = {a|b}")
|
|
print(f"В двоичном представлении a | b = {bin(a|b)}\n")
|
|
|
|
print(f"В десятичном представлении a ^ b = {a^b}")
|
|
print(f"В двоичном представлении a ^ b = {bin(a^b)}\n")
|
|
|
|
print(f"В десятичном представлении ~a = {~a}")
|
|
print(f"В двоичном представлении ~a = {bin(~a)}\n")
|
|
|
|
print(f"В десятичном представлении ~a = {~b}")
|
|
print(f"В двоичном представлении ~a = {bin(~b)}\n")
|
|
|
|
print(f"В десятичном представлении a<<4 = {a<<4}")
|
|
print(f"В двоичном представлении a<<4 = {bin(a<<4)}\n")
|
|
|
|
print(f"В десятичном представлении b>>5 = {b>>5}")
|
|
print(f"В двоичном представлении b>>5 = {bin(b>>5)}\n")
|
|
```
|
|
|
|
Ответ программы:
|
|
|
|
```shell
|
|
В десятичном представлении a | b = 127
|
|
В двоичном представлении a | b = 0b1111111
|
|
|
|
В десятичном представлении a ^ b = 62
|
|
В двоичном представлении a ^ b = 0b111110
|
|
|
|
В десятичном представлении ~a = -92
|
|
В двоичном представлении ~a = -0b1011100
|
|
|
|
В десятичном представлении ~a = -102
|
|
В двоичном представлении ~a = -0b1100110
|
|
|
|
В десятичном представлении a<<4 = 1456
|
|
В двоичном представлении a<<4 = 0b10110110000
|
|
|
|
В десятичном представлении b>>5 = 3
|
|
В двоичном представлении b>>5 = 0b11
|
|
```
|
|
|
|
## 5. Операции при работе с последовательностями (строками, списками, кортежами).
|
|
|
|
### 5.1. Объединение последовательностей (конкатенация)(+).
|
|
|
|
``` python
|
|
print('Система '+'регулирования') #Соединение двух строк символов
|
|
print(['abc','de','fg']+['hi','jkl']) # Объединение двух списков
|
|
print(('abc','de','fg')+('hi','jkl')) # Объединение двух кортежей
|
|
```
|
|
|
|
Ответ программы:
|
|
|
|
```shell
|
|
Система регулирования
|
|
['abc', 'de', 'fg', 'hi', 'jkl']
|
|
('abc', 'de', 'fg', 'hi', 'jkl')
|
|
```
|
|
|
|
### 5.2. Повторение (*).
|
|
|
|
```python
|
|
print('ля-'*5) #Повторение строки 5 раз
|
|
print(['ку','-']*3) #Повторение списка 3 раза
|
|
print(('кис','-')*4) #Повторение кортежа 4 раза
|
|
```
|
|
|
|
Ответ программы:
|
|
|
|
```shell
|
|
ля-ля-ля-ля-ля-
|
|
['ку', '-', 'ку', '-', 'ку', '-']
|
|
('кис', '-', 'кис', '-', 'кис', '-', 'кис', '-')
|
|
```
|
|
|
|
*Создание списка со 100 отсчетами сигнала-ступеньки:*
|
|
|
|
```python
|
|
signal1=[0]*3+[1]*99
|
|
print(signal1)
|
|
```
|
|
|
|
Ответ программы:
|
|
|
|
```shell
|
|
[0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
|
|
```
|
|
|
|
*Создание кортежа с отсчетами сигнала – импульса:*
|
|
|
|
```python
|
|
signal2=(0,)*3+(1,)*5+(0,)*7
|
|
print(signal2)
|
|
print("\n")
|
|
```
|
|
|
|
Ответ программы:
|
|
|
|
```shell
|
|
(0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0)
|
|
```
|
|
|
|
### 5.3. Проверка наличия заданного элемента в последовательности (in).
|
|
|
|
```python
|
|
stroka='Система автоматического управления'
|
|
print('автомат' in stroka) #Наличие подстроки в строке
|
|
print('ку' in ['ку','-']*3) #Наличие контекста в списке
|
|
print('ля-' in ('abc', 'de', 'fg', 'hi', 'jkl')) #Наличие контекста в кортеже
|
|
```
|
|
|
|
Ответ программы:
|
|
|
|
```shell
|
|
True
|
|
True
|
|
False
|
|
```
|
|
|
|
### 5.4. Подстановка значений в строку с помощью оператора «%».
|
|
|
|
***Пример №1***
|
|
|
|
```python
|
|
stroka='Температура = %g %s %g'
|
|
print(stroka % (16,' меньше ',25))
|
|
```
|
|
|
|
Ответ программы:
|
|
|
|
```shell
|
|
Температура = 16 меньше 25
|
|
```
|
|
|
|
***Пример №2***
|
|
|
|
```python
|
|
stroka='Температура = %(zn1)g %(sravn)s %(zn2)g'
|
|
print(stroka % {'zn1':16,'sravn':' меньше ','zn2':25})
|
|
```
|
|
|
|
Ответ программы:
|
|
|
|
```shell
|
|
Температура = 16 меньше 25
|
|
```
|
|
|
|
## 6. Оператор присваивания.
|
|
|
|
### 6.1. Обычное присваивание значения переменной (=).
|
|
|
|
```python
|
|
zz=-12
|
|
print(zz)
|
|
```
|
|
|
|
Ответ программы:
|
|
|
|
```shell
|
|
-12
|
|
```
|
|
|
|
### 6.2. Увеличение значения переменной на заданную величину (+=) или уменьшение (-=).
|
|
|
|
```python
|
|
zz+=5 # Значение zz увеличивается на 5
|
|
print(zz)
|
|
zz-=3 # Значение уменьшается на 3
|
|
print(zz)
|
|
```
|
|
|
|
Ответ программы:
|
|
|
|
```shell
|
|
-7
|
|
-10
|
|
```
|
|
|
|
*Для последовательностей операция (+=) означает конкатенацию текущего значения объекта с заданным дополнением.*
|
|
|
|
```python
|
|
stroka='Система'
|
|
stroka+=' регулирования'
|
|
print(stroka)
|
|
```
|
|
|
|
Ответ программы:
|
|
|
|
```shell
|
|
Система регулирования
|
|
```
|
|
|
|
### 6.3. Умножение текущего значения переменной на заданную величину (*=) или деление (/=).
|
|
|
|
```python
|
|
zz/=2
|
|
print(zz)
|
|
zz*=5
|
|
print(zz)
|
|
```
|
|
|
|
Ответ программы:
|
|
|
|
```shell
|
|
-5.0
|
|
-25.0
|
|
```
|
|
|
|
_Для строк операция (*=) означает повторение текущего значения объекта заданное число раз._
|
|
|
|
```python
|
|
stroka*= 3
|
|
print(stroka)
|
|
```
|
|
|
|
Ответ программы:
|
|
|
|
```shell
|
|
Система регулированияСистема регулированияСистема регулирования
|
|
```
|
|
|
|
### 6.4. Деления с округлением вниз (//=).
|
|
|
|
```python
|
|
zz//=2
|
|
print(zz)
|
|
```
|
|
|
|
Ответ программы:
|
|
|
|
```shell
|
|
-13.0
|
|
```
|
|
|
|
### 6.5. Возведение в степень.
|
|
|
|
```python
|
|
zz**=2
|
|
print(zz)
|
|
```
|
|
|
|
Ответ программы:
|
|
|
|
```shell
|
|
169.0
|
|
```
|
|
|
|
### 6.6. Получение остатка от деления (%=).
|
|
|
|
```python
|
|
zz%=3
|
|
print(zz)
|
|
```
|
|
|
|
Ответ программы:
|
|
|
|
```shell
|
|
1.0
|
|
```
|
|
|
|
### Множественное присваивание.
|
|
|
|
```python
|
|
w=v=10 # Переменным присваивается одно и то же значение
|
|
print(w)
|
|
print(v)
|
|
|
|
n1,n2,n3=(11,-3,'all') #Значения переменных берутся из кортежа
|
|
print(n1, n2, n3)
|
|
```
|
|
|
|
Ответ программы:
|
|
|
|
```shell
|
|
10
|
|
10
|
|
11 -3 all
|
|
```
|
|
|
|
***Вместо кортежа нельзя использовать строку***
|
|
|
|
```python
|
|
n1,n2,n3="11,-3,'all'"
|
|
print(n1, n2, n3)
|
|
```
|
|
|
|
Ответ программы:
|
|
|
|
```shell
|
|
Traceback (most recent call last):
|
|
File "/home/user/Desktop/VUZ/3CURSE/POAS_labs/python-labs/TEMA3/task6.py", line 40, in <module>
|
|
n1,n2,n3="11,-3,'all'"
|
|
^^^^^^^^
|
|
ValueError: too many values to unpack (expected 3)
|
|
```
|
|
|
|
***Вместо кортежа можно использовать список***
|
|
|
|
```python
|
|
n1,n2,n3=[11,-3,'all']
|
|
print(n1, n2, n3)
|
|
```
|
|
|
|
Ответ программы:
|
|
|
|
```shell
|
|
11 -3 all
|
|
```
|
|
|
|
***Вместо кортежа можно использовать множество***
|
|
|
|
```python
|
|
n1,n2,n3={11,-3,'all'}
|
|
print(n1, n2, n3)
|
|
```
|
|
|
|
Ответ программы:
|
|
|
|
```shell
|
|
11 -3 all
|
|
```
|
|
|
|
***Вместо кортежа можно использовать словарь***
|
|
|
|
```python
|
|
n1,n2,n3={'11':1,'-3':2,"all": 3}
|
|
print(n1, n2, n3)
|
|
```
|
|
|
|
Ответ программы:
|
|
|
|
```shell
|
|
11 -3 all
|
|
```
|
|
|