Сделал до пункта 8

main
TerekhovFV 4 недель назад
Родитель 6b20b01d19
Сommit fdc1fc95c0

@ -532,4 +532,450 @@ print((5-9j)**(2+5j))
**Можно комплексное число возвести в комплексную степень.**
***Нетрудно заметить, что в результате операции над числами разных типов получается число, имеющее наиболее сложный тип из тех типов, которые участвуют в операции.***
***Нетрудно заметить, что в результате операции над числами разных типов получается число, имеющее наиболее сложный тип из тех типов, которые участвуют в операции.***
## 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
```

@ -0,0 +1,59 @@
dv1=9
dv2=~dv1
print(bin(dv1))
print(bin(dv2))
print(bin(7&9)) # 111 и 1001 = 0001
print(bin(7&8)) # 111 и 1000 = 0000
print(bin(7|9)) # 111 или 1001 = 1111
print(bin(7|8)) # 111 или 1000 = 1111
print(bin(14|5)) # 1110 или 0101 = 1111
print(bin(14^5)) # 1110 исключающее или 0101 = 1011
print(f"В десятичном представлении: {14^5}")
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")
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")

@ -0,0 +1,30 @@
print('Система '+'регулирования') #Соединение двух строк символов
print(['abc','de','fg']+['hi','jkl']) # Объединение двух списков
print(('abc','de','fg')+('hi','jkl')) # Объединение двух кортежей
print("\n")
print('ля-'*5) #Повторение строки 5 раз
print(['ку','-']*3) #Повторение списка 3 раза
print(('кис','-')*4) #Повторение кортежа 4 раза
print("\n")
signal1=[0]*3+[1]*99
print(signal1)
print("\n")
signal2=(0,)*3+(1,)*5+(0,)*7
print(signal2)
print("\n")
stroka='Система автоматического управления'
print('автомат' in stroka) #Наличие подстроки в строке
print('ку' in ['ку','-']*3) #Наличие контекста в списке
print('ля-' in ('abc', 'de', 'fg', 'hi', 'jkl')) #Наличие контекста в кортеже
stroka='Температура = %g %s %g'
print(stroka % (16,' меньше ',25))
stroka='Температура = %(zn1)g %(sravn)s %(zn2)g'
print(stroka % {'zn1':16,'sravn':' меньше ','zn2':25})

@ -0,0 +1,41 @@
zz=-12
print(zz)
print('\n')
zz+=5 # Значение zz увеличивается на 5
print(zz)
zz-=3 # Значение уменьшается на 3
print(zz)
print('\n')
stroka='Система'
stroka+=' регулирования'
print(stroka)
print('\n')
zz/=2
print(zz)
zz*=5
print(zz)
print('\n')
stroka*= 3
print(stroka)
print('\n')
zz//=2
print(zz)
zz**=2
print(zz)
zz%=3
print(zz)
print('\n')
w=v=10 # Переменным присваивается одно и то же значение
print(w)
print(v)
n1,n2,n3={'11':1,'-3':2,"all": 3}
print(n1, n2, n3)
Загрузка…
Отмена
Сохранить