Сравнить коммиты

...

14 Коммитов
main ... main

Автор SHA1 Сообщение Дата
MamakinYR 022cacca1f test:solution uploaded
4 недель назад
MamakinYR c688775929 report:created report
4 недель назад
MamakinYR 65c7d40146 report:fixed screenshot
4 недель назад
MamakinYR 8d662c9e35 report:created report
4 недель назад
MamakinYR 74a26eb50f report:fixed report
1 месяц назад
MamakinYR ace6e9a02d report: report created
1 месяц назад
MamakinYR c810b11f2c report: added report
1 месяц назад
MamakinYR 0b4f7d7041 day1:test question answer added
2 месяцев назад
MamakinYR 137d88ddc4 day1:fixed last screenshot
2 месяцев назад
MamakinYR bacf11bf08 day1:fixed report again x2
2 месяцев назад
MamakinYR aca81e7fd3 day1:fixed report again
2 месяцев назад
MamakinYR ab65c96b53 day1:fixed report
2 месяцев назад
MamakinYR 5b09eb86f4 day1:report
2 месяцев назад
MamakinYR 733313c0f5 report file created
2 месяцев назад

@ -0,0 +1,5 @@
#Программа по Теме 1 Мамакин Ярослав Романович
print('Hello')
h=input('Your name=')
import os
os.chdir(r'C:\Users\uprkt\Desktop\ПО\python-labs\TEMA1')

Двоичные данные
TEMA1/figure1.png

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 33 KiB

Двоичные данные
TEMA1/figure2.png

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 217 KiB

Двоичные данные
TEMA1/figure3.png

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 68 KiB

Двоичные данные
TEMA1/figure4.png

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 14 KiB

Двоичные данные
TEMA1/figure5.png

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 414 KiB

Двоичные данные
TEMA1/figure6.png

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 349 KiB

Двоичные данные
TEMA1/figure7.png

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 59 KiB

Двоичные данные
TEMA1/figure8.png

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 141 KiB

Двоичные данные
TEMA1/figure9.png

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 214 KiB

@ -0,0 +1,49 @@
#Протокол по Теме 1 Мамакин Ярослав Романович
Python 3.13.7 (tags/v3.13.7:bcee1c3, Aug 14 2025, 14:15:11) [MSC v.1944 64 bit (AMD64)] on win32
Enter "help" below or click "Help" above for more information.
import os
os.chdir(r'C:\Users\uprkt\Desktop\ПО\python-labs\TEMA1')
import Pr0
Hello
Your name=Yaroslav
import prb1
Как Вас зовут? Yaroslav
Привет, Yaroslav
help(print)
Help on built-in function print in module builtins:
print(*args, sep=' ', end='\n', file=None, flush=False)
Prints the values to a stream, or to sys.stdout by default.
sep
string inserted between values, default a space.
end
string appended after the last value, default a newline.
file
a file-like object (stream); defaults to the current sys.stdout.
flush
whether to forcibly flush the stream.
help(print),help(input)
Help on built-in function print in module builtins:
print(*args, sep=' ', end='\n', file=None, flush=False)
Prints the values to a stream, or to sys.stdout by default.
sep
string inserted between values, default a space.
end
string appended after the last value, default a newline.
file
a file-like object (stream); defaults to the current sys.stdout.
flush
whether to forcibly flush the stream.
Help on built-in function input in module builtins:
input(prompt='', /)
Read a string from standard input. The trailing newline is stripped.
The prompt string, if given, is printed to standard output without a
trailing newline before reading input.

@ -0,0 +1,67 @@
# Отчет по теме 1
Мамакин Ярослав, А-02-23
## 1 Изучение среды IDLE
## 1.1 Работа с интерпретатором
![Скриншот окна интерпретатора с введенными командами](figure1.png)
## 1.2 Задание рабочей папки в среде IDLE
```py
import os
os.chdir(r'C:\Users\uprkt\Desktop\ПО\python-labs\TEMA1')
```
## 1.3 Настройка среды
![Скриншот заданных настроек среды](figure2.png)
## 1.4 Составил программу
```py
#Программа по Теме 1 Мамакин Ярослав Романович
print('Hello')
h=input('Your name=')
import os
os.chdir(r'C:\Users\uprkt\Desktop\ПО\python-labs\TEMA1')
```
## 1.5 Запустил программу на выполнение
![Результат выполнения программы](figure3.png)
## 1.6 Запустил программу prb1.py
![Результат выполнения](figure4.png)
## 1.7 Изучение состава рабочего каталога
При открытии файла с результатом работы компилятора текстовый редактор выводит бессмысленный набор символов, т. к. результат работы компилятора - двоичный файл
## 1.8 Изучил команды для быстрой помощи
```py
help(print),help(input)
```
При нажатии F1 открылась страница с документацией:
![Документация python](figure5.png)
## 1.9 Работа с окнами редактора
![Открытие и переключение](figure6.png)
![Запуск программы через Run](figure7.png)
## 1.10 Изучил программу tdemo_chaos.py
![Текст и результат выполнения](figure8.png)
## 1.11 Изучил примеры программ из среды
![Текст программ-примеров и результаты их работы](figure9.png)

@ -0,0 +1,16 @@
# Общее контрольное задание по теме 1
Мамакин Ярослав, А-02-23
## Вопрос
Можно ли писать несколько инструкций в одной строке командного окна?
## Ответ
Да, можно, инструкции записываются через запятую. Например:
```py
help(print),help(input)
```

Двоичные данные
TEMA2/figure1.png

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 78 KiB

Двоичные данные
TEMA2/figure2.png

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 17 KiB

Двоичные данные
TEMA2/figure3.png

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 28 KiB

Двоичные данные
TEMA2/figure4.png

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 117 KiB

Двоичные данные
TEMA2/figure5.png

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 6.2 KiB

@ -0,0 +1,122 @@
Протокол по теме 2 Мамакин Ярослав Романович
f1=16
f2=3
dir()
dir(f1)
type(f2)
del f1,f2
gg1=1.6
hh1='Строка'
kluch = keyword.kwlist
print(max([len('stroka'), abs(min([-4, -5]))]))
Gg1=45
gg1,Gg1
(1.6, 45)
bb1=True
type(bb1)
ii1=-1234567890
type(ii1)
dv1=0b1101010
type(dv1)
cc2=complex(3.67,-0.45)
type(cc2)
ss1a='Это - \'строка символов \', \n \t выводимая на двух строках'
print(ss1a)
Это - 'строка символов ',
выводимая на двух строках
ss1b = 'Меня зовут: \n Мамакин Я. Р.'
print(ss1b)
Меня зовут:
Мамакин Я. Р.
ss1='Это - строка символов'
print(ss1[17:3:-2])
омсаот
print(ss1[-4:3:-2])
омсаот
ss1[4]='='
Traceback (most recent call last):
File "<pyshell#41>", line 1, in <module>
ss1[4]='='
TypeError: 'str' object does not support item assignment
ss1=ss1[:4]+'='+ss1[5:]
print(ss1)
Это = строка символов
print(ss1b[22:24]+ss1b[14:21]+ss1b[-1])
Я.Мамакин.
spis1=[111,'Spisok',5-9j]
stup=[0,0,1,1,1,1,1,1,1]
spis1[1]='Список'
spis1
[111, 'Список', (5-9j)]
len(spis1)
3
spis1.append('New item')
spis1.append(ss1b)
spis1
[111, 'Список', (5-9j), 'New item', 'Меня зовут: \n Мамакин Я. Р.']
spis1.pop(1)
'Список'
stup.remove(1)
stup.reverse()
stup
[1, 1, 1, 1, 1, 1, 0, 0]
spis2=[spis1,[4,5,6,7]]
spis2[0][1]=78
spis1
[111, 78, 'New item', 'Меня зовут: \n Мамакин Я. Р.']
spis3=[56, 'sem-vosem', False, [7, 8]]
stup[-8::2]
[1, 1, 1, 0]
kort1=(222,'Kortezh',77+8j)
kort1= kort1+(1,2)
kort2=kort1[:2]+kort1[3:]
kort1.index(2)
4
kort1.count(222)
1
kort1[2]=90
Traceback (most recent call last):
File "<pyshell#67>", line 1, in <module>
kort1[2]=90
TypeError: 'tuple' object does not support item assignment
kort3=('7-8', 'pyat-shest', (7, 8))
kort3
('7-8', 'pyat-shest', (7, 8))
dic1={'Saratov':145, 'Orel':56, 'Vologda':45}
dic1['Orel']
56
dic1['Pskov']=78
dic1
{'Saratov': 145, 'Orel': 56, 'Vologda': 45, 'Pskov': 78}
sorted(dic1.keys())
['Orel', 'Pskov', 'Saratov', 'Vologda']
sorted(dic1.values())
[45, 56, 78, 145]
dic2={1:'mean',2:'standart deviation',3:'correlation'}
dic3={'statistics':dic2,'POAS':['base','elementary','programming']}
dic3['statistics'][2]
'standart deviation'
dic4=dict([(1,['A','B','C']),(2,[4,5]),('Q','Prim'),('Stroka',ss1b)])
dic5=dict(zip(['A','B','C','Stroka'],[16,-3,9,ss1b]))
kortn=(7,8,9,10,11,12,13)
listn=['sem', 'vosem', 'devyat', 'desyat', 'odinnadsat']
dic6=dict(zip(kortn,listn))
dic6
{7: 'sem', 8: 'vosem', 9: 'devyat', 10: 'desyat', 11: 'odinnadsat'}
mnoz1={'двигатель','датчик','линия связи','датчик','микропроцессор','двигатель'}
len(mnoz1)
4
'датчик' in mnoz1
True
mnoz1.add('реле')
mnoz1.remove('линия связи')
mno={7, '8', [5, 6]}
Traceback (most recent call last):
File "<pyshell#90>", line 1, in <module>
mno={7, '8', [5, 6]}
TypeError: unhashable type: 'list'
mno={7, '8'}
mno.add(7)
mno
{'8', 7}

@ -0,0 +1,193 @@
# Отчет по теме 2
Мамакин Ярослав, А-02-23
## 1 Изучение простых объектов
![Скриншот выполненных инструкций](figure1.png)
После присваивания значений переменные отображаются в пространстве имен.
Тип - int
После удаления из оперативной памяти переменные не отображаются в пространстве имен.
## 2 Правила именования объектов
![Скриншот выполненных инструкций](figure2.png)
Переменные с правильными именами получили свои значения, с неправильными - вызвали диагностическое сообщение.
## 3 Вывод списка ключевых слов
![Вывод списка](figure3.png)
Сохранил список в переменную kluch:
```py
kluch = keyword.kwlist
```
## 4 Cписок встроенных идентификаторов
![Вывод списка](figure4.png)
Изучил приведенные функции, пример:
```py
print(max([len('stroka'), abs(min([-4, -5]))]))
```
Инструкция выводит длину строки, 6.
## 5 Чувствительность к регистру
![Демонстрация чувствительности к регистру](figure5.png)
## 6 Базовые типы объектов
Логический
```py
>>>bb1=True
>>>type(bb1)
<class 'bool'>
```
Числовые
```py
>>>ii1=-1234567890
>>>type(ii1)
<class 'int'>
>>>dv1=0b1101010
>>>type(dv1)
<class 'int'>
>>>cc2=complex(3.67,-0.45)
>>>type(cc2)
<class 'complex'>
```
Строка
```py
>>>ss1a='Это - \'строка символов \', \n \t выводимая на двух строках'
>>>print(ss1a)
Это - 'строка символов ',
выводимая на двух строках
>>>ss1b = 'Меня зовут: \n Мамакин Я. Р.'
>>>print(ss1b)
Меня зовут:
Мамакин Я. Р.
>>>ss1='Это - строка символов'
>>>print(ss1[17:3:-2])
омсаот
>>>print(ss1[-4:3:-2])
омсаот
# индексы -4 и 17 обращаются к одному элементу
>>>ss1[4]='='
Traceback (most recent call last):
File "<pyshell#41>", line 1, in <module>
ss1[4]='='
TypeError: 'str' object does not support item assignment
>>>ss1=ss1[:4]+'='+ss1[5:]
>>>print(ss1)
Это = строка символов
>>>print(ss1b[22:24]+ss1b[14:21]+ss1b[-1])
Я.Мамакин.
```
## 6 Сложные типы объектов
Списки:
```py
>>>spis1=[111,'Spisok',5-9j]
>>>stup=[0,0,1,1,1,1,1,1,1]
>>>stup[-8::2]
[1, 1, 1, 0] # 7, 5, 3 и 1 индексы
>>>spis1[1]='Список'
>>>spis1
[111, 'Список', (5-9j)]
>>>len(spis1)
3
>>>spis1.append('New item')
>>>spis1.append(ss1b)
>>>spis1
[111, 'Список', (5-9j), 'New item', 'Меня зовут: \n Мамакин Я. Р.']
>>>spis1.pop(1)
'Список'
>>>stup.remove(1)
>>>stup.reverse()
>>>stup
[1, 1, 1, 1, 1, 1, 0, 0]
>>>spis2=[spis1,[4,5,6,7]]
>>>spis2[0][1]=78
>>>spis1
[111, 78, 'New item', 'Меня зовут: \n Мамакин Я. Р.']
>>>spis3=[56, 'sem-vosem', False, [7, 8]]
```
Кортежи:
```py
>>>kort1=(222,'Kortezh',77+8j)
>>>kort1= kort1+(1,2)
>>>kort2=kort1[:2]+kort1[3:]
>>>kort1.index(2)
4
>>>kort1.count(222)
1
>>>kort1[2]=90
Traceback (most recent call last):
File "<pyshell#67>", line 1, in <module>
kort1[2]=90
TypeError: 'tuple' object does not support item assignment
>>>kort3=('7-8', 'pyat-shest', (7, 8))
>>>kort3
('7-8', 'pyat-shest', (7, 8))
```
Словари:
```py
dic1={'Saratov':145, 'Orel':56, 'Vologda':45}
dic1['Orel']
56
dic1['Pskov']=78
dic1
{'Saratov': 145, 'Orel': 56, 'Vologda': 45, 'Pskov': 78}
sorted(dic1.keys())
['Orel', 'Pskov', 'Saratov', 'Vologda']
sorted(dic1.values())
[45, 56, 78, 145]
dic2={1:'mean',2:'standart deviation',3:'correlation'}
dic3={'statistics':dic2,'POAS':['base','elementary','programming']}
dic3['statistics'][2]
'standart deviation'
dic4=dict([(1,['A','B','C']),(2,[4,5]),('Q','Prim'),('Stroka',ss1b)])
dic5=dict(zip(['A','B','C','Stroka'],[16,-3,9,ss1b]))
kortn=(7,8,9,10,11,12,13)
listn=['sem', 'vosem', 'devyat', 'desyat', 'odinnadsat']
dic6=dict(zip(kortn,listn))
dic6
{7: 'sem', 8: 'vosem', 9: 'devyat', 10: 'desyat', 11: 'odinnadsat'}
```
Функция zip остановилась на более коротком из итерируемых объектов
Множества:
```py
mnoz1={'двигатель','датчик','линия связи','датчик','микропроцессор','двигатель'}
len(mnoz1)
4
'датчик' in mnoz1
True
mnoz1.add('реле')
mnoz1.remove('линия связи')
mno={7, '8', [5, 6]}
Traceback (most recent call last):
File "<pyshell#90>", line 1, in <module>
mno={7, '8', [5, 6]}
TypeError: unhashable type: 'list'
mno={7, '8'}
mno.add(7)
mno
{'8', 7}
```
Список не может быть элементом множества

@ -0,0 +1,33 @@
# Общее контрольное задание по теме 2
Мамакин Ярослав, А-02-23
## Задание
Реализовать, записать в текстовый файл и проанализировать результаты последовательности ин-струкций, выполняющих следующие действия:
• Создать переменную с именем familia и со значением - символьной строкой – своей фами-лией в латинской транскрипции.
• Создать переменную со значением, совпадающим с первой буквой из familia.
• Создать переменную с именем sp_kw со значением – списком всей ключевых слов языка Python.
• Удалите из списка sp_kw значение 'nonlocal'. Выводом списка в командном окне IDLE убедитесь, что это значение удалено из списка.
• Создайте кортеж kort_nam с именами: вашим и еще 3-х студентов из вашей группы. Напи-шите инструкцию, позволяющую убедиться, что тип переменной – это tuple.
• Напишите инструкцию, добавляющую в kort_nam имена еще двух студентов.
• Напишите инструкцию, позволяющую определить, сколько раз в кортеже присутствуют студенты с именем «Дима».
• Создайте словарь dict_bas, в котором ключами являются русские названия типов перемен-ных, использованных в предыдущих операторах, а значениями – ранее созданные перемен-ные, соответствующие этим типам.
## Решение
```py
>>>familia = 'Мамакин'
>>>bukva = familia[0]
>>>sp_kw = keyword.kwlist
>>>sp_kw.remove('nonlocal')
>>>sp_kw
['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
>>>kort_nam = ('Ярослав', 'Дима', 'Семён')
>>>type(kort_nam)
<class 'tuple'>
>>>kort_nam = kort_nam + ('Настя', 'Денис')
>>>kort_nam.count('Дима')
1
>>>dict_bas={'Строка':familia, 'Список':sp_kw, 'Кортеж':kort_nam}
```

@ -0,0 +1,285 @@
>>>logiz1=bool(56)
>>>logiz2=bool(0)
>>>logiz3=bool("Beta")
>>>logiz4=bool("")
>>>logiz1
True
>>>logiz2
False
>>>logiz3
True
>>>logiz4
False
>>>tt1=int(198.6)
>>>tt2=int("-76")
>>>tt3=int("B",16)
>>>tt4=int("71",8)
>>>tt5=int("98.76")
Traceback (most recent call last):
File "<pyshell#24>", line 1, in <module>
tt5=int("98.76")
ValueError: invalid literal for int() with base 10: '98.76'
>>>tt1
198
>>>tt2
-76
>>>tt3
11
>>>tt4
57
>>>flt1=float(789)
>>>flt2=float(-6.78e2)
>>>flt3=float("Infinity")
>>>flt4=float("-inf")
>>>flt1
789.0
>>>flt2
-678.0
>>>flt3
inf
>>>flt4
-inf
strk1=str(23.6)
strk2=str(logiz3)
strk3=str(["A","B","C"])
strk4=str(("A","B","C"))
strk5=str({"A":1,"B":2,"C":9})
spis1=list("Строка символов")
spis2=list((124,236,-15,908))
spis3=list({"A":1,"B":2,"C":9})
kort7=tuple('Строка символов')
kort8=tuple(spis2)
kort9=tuple({"A":1,"B":2,"C":9})
del strk5, kort8
dir()
['__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'flt1', 'flt2', 'flt3', 'flt4', 'kort7', 'kort9', 'logiz1', 'logiz2', 'logiz3', 'logiz4', 'os', 'spis1', 'spis2', 'spis3', 'str1', 'str2', 'strk1', 'strk2', 'strk3', 'strk4', 'tt1', 'tt2', 'tt3', 'tt4', 'u', 'v']
imya = 'Мамакин Я. Р.'
imya = list(imya)
imya = tuple(imya)
imya = str(imya)
imya
"('М', 'а', 'м', 'а', 'к', 'и', 'н', ' ', 'Я', '.', ' ', 'Р', '.')"
>>>12+7+90
109
>>>5.689e-1 - 0.456
0.11289999999999994
>>>23.6+54
77.6
>>>14-56.7+89
46.3
>>>-6.7*12
-80.4
>>>-234.5/6
-39.083333333333336
>>>a=178/45
>>>a,type(a)
(3.9555555555555557, <class 'float'>)
>>>b=178//45
>>>c=-24.6//12.1
>>>b
3
>>>c
-3.0
>>>type(b)
<class 'int'>
>>>type(c)
<class 'float'>
>>>148%33
16
>>>12.6%3.8
1.2000000000000002
>>>14**3
2744
>>>e=2.7**3.6
>>>e
35.719843790663525
>>>type(e)
<class 'float'>
>>>f=complex(2+3j)
>>>g=f**3.6
>>>type(g)
<class 'complex'>
>>>h=f%5
Traceback (most recent call last):
File "<pyshell#81>", line 1, in <module>
h=f%5
TypeError: unsupported operand type(s) for %: 'complex' and 'int'
>>>h1=f//3
Traceback (most recent call last):
File "<pyshell#82>", line 1, in <module>
h1=f//3
TypeError: unsupported operand type(s) for //: 'complex' and 'int'
>>>dv1=9
>>>dv2=~dv1
>>>dv2, type(dv2)
(-10, <class 'int'>)
>>>7&9
1
>>>7&8
0
>>>7|9
15
>>>7|8
15
>>>14|5
15
>>>14^5
11
>>>h=14
>>>g=h<<2
>>>g1=h>>1
>>>g2=h>>2
>>>g
56
>>>g1
7
>>>g2
3
>>>255^128
127 # 11111111 искл. ИЛИ 10000000 = 1111111
>>>'Система '+'регулирования'
'Система регулирования'
>>>['abc','de','fg']+['hi','jkl']
['abc', 'de', 'fg', 'hi', 'jkl']
>>>('abc','de','fg')+('hi','jkl')
('abc', 'de', 'fg', 'hi', 'jkl')
>>>'ля-'*5
'ля-ля-ля-ля-ля-'
>>>['ку','-']*3
['ку', '-', 'ку', '-', 'ку', '-']
>>>('кис','-')*4
('кис', '-', 'кис', '-', 'кис', '-', 'кис', '-')
>>>signal1=[0]*3+[1]*99
>>>signal2=(0,)*3+(1,)*5+(0,)*7
>>>signal1
[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]
>>>signal2
(0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0)
>>>stroka='Система автоматического управления'
>>>'автомат' in stroka
True
>>>'ку' in ['ку','-']*3
True
>>>'ля-' in ('abc', 'de', 'fg', 'hi', 'jkl')
False
>>>stroka='Температура = %g %s %g'
>>>stroka % (16,' меньше ',25)
'Температура = 16 меньше 25'
>>>stroka='Температура = %(zn1)g %(sravn)s %(zn2)g'
>>>stroka % {'zn1':16,'sravn':' меньше ','zn2':25}
'Температура = 16 меньше 25'
>>>zz=-12
>>>zz+=5
>>>zz-=3
>>>stroka='Система'
>>>stroka+=' регулирования'
>>>stroka
'Система регулирования'
>>>zz*=5
>>>s='s'
>>>s*=5
>>>s
'sssss'
>>>zz
-25.0
>>>zz//=4
>>>zz
-7.0
>>>zz%=3
>>>zz
2.0
>>>zz**=5
>>>zz
32.0
>>>w=v=10
>>>n1,n2,n3=(11,-3,'all')
>>>n1,n2,n3=[1,2,3] # можно
>>>n1,n2,n3={1:'a',2:'b',3:'c'} # можно
>>>n1
1
>>>w<=v
True
>>>w==v
True
>>>mnoz1={'pen','book','pen','iPhone','table','book'}
>>>'book' in mnoz1
True
>>>'cap' in mnoz1
False
>>>dic1={'Saratov':145, 'Orel':56, 'Vologda':45}
>>>'Vologda' in dic1
True
>>>'Pskov' in dic1
False
>>>56 in dic1.values()
True
>>>dct1={'Institut':['AVTI','IEE','IBB'],'Depart':['UII','PM','VMSS','MM'],'gruppa': ['A-01-15','A-02-15']}
>>>'UII' in dct1['Depart']
True
>>>dct1['Depart'][1] == 'MM'
False
>>>a=17
>>>b=-6
>>>(a>=b) and ('book' in mnoz1) and not ('Pskov' in dic1)
True
>>>(b>=a) or not ('pen' in dic1)
True
>>>w is v
True
>>>w1=['A','B']
>>>v1=['A','B']
>>>w1 is v1
False
stroka='Микропроцессорная система управления'
dir(stroka)
['__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']
stroka.find('пр')
5
stroka.count("с")
4
stroka.replace(' у',' автоматического у')
'Микропроцессорная система автоматического управления'
spis22=stroka.split(' ')
stroka.upper()
'МИКРОПРОЦЕССОРНАЯ СИСТЕМА УПРАВЛЕНИЯ'
stroka3=" ".join(spis22)
stroka3.partition("с")
('Микропроце', 'с', 'сорная система управления')
stroka3.rpartition("с")
('Микропроцессорная си', 'с', 'тема управления')
strk1='Момент времени {}, значение = {}'
strk1.format(1,89.7)
'Момент времени 1, значение = 89.7'
strk2='Момент времени {1}, значение = {0}:{2}'
strk2.format(36.7,2,'норма!')
'Момент времени 2, значение = 36.7:норма!'
strk3='Момент времени {num}, значение = {znch}'
strk3.format(znch=89.7,num=2)
'Момент времени 2, значение = 89.7'
spsk = [1,2,3,4,5,6]
dir(spsk)
['__add__', '__class__', '__class_getitem__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getstate__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
spsk = [1,2,3,4,5,6]
spsk.pop(2)
3
spsk.append('c')
spsk
[1, 2, 4, 5, 6, 'c']
spsk.insert(2,'a')
spsk
[1, 2, 'a', 4, 5, 6, 'c']
spsk.count('a')
1
kort = (1,2)
dir(kort)
['__add__', '__class__', '__class_getitem__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'count', 'index']
len(kort)
2
dict1={1:'a',2:'b',3:'c'}
dir(dict1)
['__class__', '__class_getitem__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__ior__', '__iter__', '__le__', '__len__', '__lt__', '__ne__', '__new__', '__or__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__ror__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'clear', 'copy', 'fromkeys', 'get', 'items', 'keys', 'pop', 'popitem', 'setdefault', 'update', 'values']
dict1.popitem()
(3, 'c')

@ -0,0 +1,492 @@
# Отчет по теме 3
Мамакин Ярослав, А-02-23
## 1 Начало работы
Запустил среду IDLE, установил рабочую папку.
## 2 Преобразование простых базовых типов объектов
## 2.1 Преобразование в логический тип с помощью функции bool(<Объект>)
```py
>>>logiz1=bool(56)
>>>logiz2=bool(0)
>>>logiz3=bool("Beta")
>>>logiz4=bool("")
>>>logiz1
True
>>>logiz2
False
>>>logiz3
True
>>>logiz4
False
```
## 2.2 Преобразование в число
В тип int
```py
>>>tt1=int(198.6)
>>>tt2=int("-76")
>>>tt3=int("B",16)
>>>tt4=int("71",8)
>>>tt5=int("98.76")
Traceback (most recent call last):
File "<pyshell#24>", line 1, in <module>
tt5=int("98.76")
ValueError: invalid literal for int() with base 10: '98.76'
>>>tt1
198
>>>tt2
-76
>>>tt3
11
>>>tt4
57
```
В тип float
```py
>>>flt1=float(789)
>>>flt2=float(-6.78e2)
>>>flt3=float("Infinity")
>>>flt4=float("-inf")
>>>flt1
789.0
>>>flt2
-678.0
>>>flt3
inf
>>>flt4
-inf
```
## 3 Изучите преобразования более сложных базовых типов объектов.
## 3.1 Преобразование в строку
```py
strk1=str(23.6)
strk2=str(logiz3)
strk3=str(["A","B","C"])
strk4=str(("A","B","C"))
strk5=str({"A":1,"B":2,"C":9})
```
## 3.2 Преобразование в список
```py
spis1=list("Строка символов")
spis2=list((124,236,-15,908))
spis3=list({"A":1,"B":2,"C":9})
```
## 3.3 В кортеж
```py
kort7=tuple('Строка символов')
kort8=tuple(spis2)
kort9=tuple({"A":1,"B":2,"C":9})
```
## 3.4 Удаление объектов
```py
del strk5, kort8
dir()
['__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'flt1', 'flt2', 'flt3', 'flt4', 'kort7', 'kort9', 'logiz1', 'logiz2', 'logiz3', 'logiz4', 'os', 'spis1', 'spis2', 'spis3', 'str1', 'str2', 'strk1', 'strk2', 'strk3', 'strk4', 'tt1', 'tt2', 'tt3', 'tt4', 'u', 'v']
imya = 'Мамакин Я. Р.'
imya = list(imya)
imya = tuple(imya)
imya = str(imya)
imya
"('М', 'а', 'м', 'а', 'к', 'и', 'н', ' ', 'Я', '.', ' ', 'Р', '.')"
```
## 4 Арифметические операции
## 4.1 Сложение и вычитание
```py
>>>12+7+90
109
>>>5.689e-1 - 0.456
0.11289999999999994
>>>23.6+54
77.6
>>>14-56.7+89
46.3
```
## 4.2 Умножение
```py
>>>-6.7*12
-80.4
```
## 4.3 Деление
```py
>>>-234.5/6
-39.083333333333336
>>>a=178/45
>>>a,type(a)
(3.9555555555555557, <class 'float'>)
```
## 4.4 Деление с округлением вниз
```py
>>>b=178//45
>>>c=-24.6//12.1
>>>b
3
>>>c
-3.0
>>>type(b)
<class 'int'>
>>>type(c)
<class 'float'>
```
## 4.5 Взятие остатка от деления
```py
>>>148%33
16
>>>12.6%3.8
1.2000000000000002
```
## 4.6 Возведение в степень
```py
>>>14**3
2744
>>>e=2.7**3.6
>>>e
35.719843790663525
>>>type(e)
<class 'float'>
>>>f=complex(2+3j)
>>>g=f**3.6
>>>type(g)
<class 'complex'>
>>>h=f%5
Traceback (most recent call last):
File "<pyshell#81>", line 1, in <module>
h=f%5
TypeError: unsupported operand type(s) for %: 'complex' and 'int'
>>>h1=f//3
Traceback (most recent call last):
File "<pyshell#82>", line 1, in <module>
h1=f//3
TypeError: unsupported operand type(s) for //: 'complex' and 'int'
```
## 5 Операции с двоичными числами
## 5.1 Инверсия
```py
>>>dv1=9
>>>dv2=~dv1
>>>dv2, type(dv2)
(-10, <class 'int'>)
```
## 5.2 Логическое И
```py
>>>7&9
1
>>>7&8
0
```
## 5.3 Логическое ИЛИ
```py
>>>7|9
15
>>>7|8
15
>>>14|5
15
```
## 5.4 Исключающее или
```py
>>>14^5
11
```
## 5.5 Сдвиг разрядов
```py
>>>h=14
>>>g=h<<2
>>>g1=h>>1
>>>g2=h>>2
>>>g
56
>>>g1
7
>>>g2
3
>>>255^128
127 # 11111111 искл. ИЛИ 10000000 = 1111111
```
## 6 Операции при работе с последовательностями (строками, списками, кортежами)
## 6.1 Конкатенация
```py
>>>'Система '+'регулирования'
'Система регулирования'
>>>['abc','de','fg']+['hi','jkl']
['abc', 'de', 'fg', 'hi', 'jkl']
>>>('abc','de','fg')+('hi','jkl')
('abc', 'de', 'fg', 'hi', 'jkl')
```
## 6.2 Повторение
```py
>>>'ля-'*5
'ля-ля-ля-ля-ля-'
>>>['ку','-']*3
['ку', '-', 'ку', '-', 'ку', '-']
>>>('кис','-')*4
('кис', '-', 'кис', '-', 'кис', '-', 'кис', '-')
>>>signal1=[0]*3+[1]*99
>>>signal2=(0,)*3+(1,)*5+(0,)*7
>>>signal1
[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]
>>>signal2
(0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0)
```
## 6.3 Проверка вхождения
```py
>>>stroka='Система автоматического управления'
>>>'автомат' in stroka
True
>>>'ку' in ['ку','-']*3
True
>>>'ля-' in ('abc', 'de', 'fg', 'hi', 'jkl')
False
```
## 6.4 Подстановка значений
```py
>>>stroka='Температура = %g %s %g'
>>>stroka % (16,' меньше ',25)
'Температура = 16 меньше 25'
>>>stroka='Температура = %(zn1)g %(sravn)s %(zn2)g'
>>>stroka % {'zn1':16,'sravn':' меньше ','zn2':25}
'Температура = 16 меньше 25'
```
## 7 Присваивание
## 7.1 Обычное
```py
>>>zz=-12
```
## 7.2 Увеличение
```py
>>>zz+=5
>>>zz-=3
>>>stroka='Система'
>>>stroka+=' регулирования'
>>>stroka
'Система регулирования'
```
## 7.3 Умножение
```py
>>>zz*=5
>>>s='s'
>>>s*=5
>>>s
'sssss'
```
## 7.4 Деление с округлением, остаток, степень
```py
>>>zz
-25.0
>>>zz//=4
>>>zz
-7.0
>>>zz%=3
>>>zz
2.0
>>>zz**=5
>>>zz
32.0
```
## 7.5 Множественное присваивание
```py
>>>w=v=10
>>>n1,n2,n3=(11,-3,'all')
>>>n1,n2,n3=[1,2,3] # можно
>>>n1,n2,n3={1:'a',2:'b',3:'c'} # можно
>>>n1
1
```
## 8 Логические операции
## 8.1 Сравнение
```py
>>>w<=v
True
>>>w==v
True
```
## 8.2 Проверка наличия
```py
>>>mnoz1={'pen','book','pen','iPhone','table','book'}
>>>'book' in mnoz1
True
>>>'cap' in mnoz1
False
>>>dic1={'Saratov':145, 'Orel':56, 'Vologda':45}
>>>'Vologda' in dic1
True
>>>'Pskov' in dic1
False
>>>56 in dic1.values()
True
>>>dct1={'Institut':['AVTI','IEE','IBB'],'Depart':['UII','PM','VMSS','MM'],'gruppa': ['A-01-15','A-02-15']}
>>>'UII' in dct1['Depart']
True
>>>dct1['Depart'][1] == 'MM'
False
```
## 8.3 Создание больших логических выражений
```py
>>>a=17
>>>b=-6
>>>(a>=b) and ('book' in mnoz1) and not ('Pskov' in dic1)
True
>>>(b>=a) or not ('pen' in dic1)
True
```
## 8.4 Проверка совпадения ссылок на объект
```py
>>>w is v
True
>>>w1=['A','B']
>>>v1=['A','B']
>>>w1 is v1
False
```
w1 и v1 идентичные, но отдельные объекты. w и v ссылаются на один объект
## 9 Применение методов к объектам
## 9.1 Работа со строками
```py
stroka='Микропроцессорная система управления'
dir(stroka)
['__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']
stroka.find('пр')
5
stroka.count("с")
4
stroka.replace(' у',' автоматического у')
'Микропроцессорная система автоматического управления'
spis22=stroka.split(' ')
stroka.upper()
'МИКРОПРОЦЕССОРНАЯ СИСТЕМА УПРАВЛЕНИЯ'
stroka3=" ".join(spis22)
stroka3.partition("с")
('Микропроце', 'с', 'сорная система управления')
stroka3.rpartition("с")
('Микропроцессорная си', 'с', 'тема управления')
strk1='Момент времени {}, значение = {}'
strk1.format(1,89.7)
'Момент времени 1, значение = 89.7'
strk2='Момент времени {1}, значение = {0}:{2}'
strk2.format(36.7,2,'норма!')
'Момент времени 2, значение = 36.7:норма!'
strk3='Момент времени {num}, значение = {znch}'
strk3.format(znch=89.7,num=2)
'Момент времени 2, значение = 89.7'
```
## 9.2 Работа со списками
```py
spsk = [1,2,3,4,5,6]
dir(spsk)
['__add__', '__class__', '__class_getitem__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getstate__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
spsk = [1,2,3,4,5,6]
spsk.pop(2)
3
spsk.append('c')
spsk
[1, 2, 4, 5, 6, 'c']
spsk.insert(2,'a')
spsk
[1, 2, 'a', 4, 5, 6, 'c']
spsk.count('a')
1
```
## 9.3 Работа с кортежами
```py
kort = (1,2)
dir(kort)
['__add__', '__class__', '__class_getitem__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'count', 'index']
len(kort)
2
```
## 9.4 Работа со словарями
```py
dict1={1:'a',2:'b',3:'c'}
dir(dict1)
['__class__', '__class_getitem__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__ior__', '__iter__', '__le__', '__len__', '__lt__', '__ne__', '__new__', '__or__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__ror__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'clear', 'copy', 'fromkeys', 'get', 'items', 'keys', 'pop', 'popitem', 'setdefault', 'update', 'values']
dict1.popitem()
(3, 'c')
```

@ -0,0 +1,48 @@
# Общее контрольное задание по теме 3
Мамакин Ярослав, А-02-23
## Задание
Реализовать, записать в текстовый файл и проанализировать результаты последовательности ин-струкций, выполняющих следующие действия:
• Преобразовать восьмеричное значение 45 в целое число.
• Создать объект-словарь D со значениями {"усиление":23, "запаздывание":12, "постоянная вре-мени":78} и затем осуществить его преобразование в два списка: ключей и значений, а затем – эти два списка преобразовать в один кортеж. Чем отличается кортеж от списка?
• Напишите и выполните единое выражение, осуществляющее деление числа 1768 на 24.8 с округлением вниз, с определением после этого остатка от деления получившегося значения на 3 и затем возведения результата в степень 2.4.
• Напишите и выполните единое выражение, последовательно осуществляющее следующие опе-рации: двоичное И для чисел 13 и 27, инверсия полученного значения, двоичное исключающее ИЛИ для полученного значения и числа 14, сдвиг полученного значения на два разряда влево.
• Создать список с 4 одинаковыми элементами 'колебат' и написать оператор проверки наличия комбинации символов 'аткол' в результате конкатенации второго и третьего элементов этого списка.
• Определить список методов, доступных у ранее созданного словаря D. Поочередно использо-вать его методы keys и values, определить, что можно получить с применением этих методов.
• Создать объект - символьную строку с текстом данного предложения. Из символьной строки создать список, элементами которого будут отдельные слова из созданной строки. Заменить в списке элемент «-» на «,». Удалить из списка элемент со значением «данного». Отобразить получившийся список.
## Решение
```py
zn = "45"
zn1 = int(zn, 8)
zn1
37
D = {"усиление":23, "запаздывание":12, "постоянная времени":78}
keys_D = list(D.keys())
values_D = list(D.values())
kort = tuple(keys_D + values_D)
kort
('усиление', 'запаздывание', 'постоянная времени', 23, 12, 78)
((1768 // 24.8) % 3) ** 2.4
5.278031643091577
((~(13&27))^14)<<2
-32
spi = ['колебат', 'колебат', 'колебат', 'колебат']
'аткол' in (spi[1] + spi[2])
True
dir(D)
['__class__', '__class_getitem__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__ior__', '__iter__', '__le__', '__len__', '__lt__', '__ne__', '__new__', '__or__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__ror__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'clear', 'copy', 'fromkeys', 'get', 'items', 'keys', 'pop', 'popitem', 'setdefault', 'update', 'values']
type(D.keys())
<class 'dict_keys'>
type(D.values())
<class 'dict_values'>
st = 'Создать объект - символьную строку с текстом данного предложения.'
st1 = st.split()
st1[2] = ','
del st1[7]
st1
['Создать', 'объект', ',', 'символьную', 'строку', 'с', 'текстом', 'предложения.']
```

@ -0,0 +1,61 @@
# Тест по модулю 1
Мамакин Ярослав Романович
## Задание
M1_7
1) Можно ли работать со средой без использования интерактивной оболочки IDLE?
2) Создайте объект-словарь с 7 элементами: ключи - названия (аббревиатура) вузов, значения - число студентов (задать произвольно). Напишите инструкцию, доказывающую, что создан объект именно требуемого типа. Напишите инструкцию отображения списка атрибутов созданного объекта.
3) Напишите инструкцию, позволяющую вычислить общее число студентов в двух указываемых вузах из словаря.
4) Преобразуйте значения из словаря в список и, затем, список - в строку. Отобразите полученные объекты. Получите новый список, разделением строки на части по разделителю: ",".
5) Используя операцию подстановки, отобразить рассчитанное число студентов в 2-х вузах по шаблону: "Число студентов в <название вуза 1> и <название вуза 2> =:".
## Решение
1) Можно, используя командную строку
2)
```py
slov={'МЭИ':1500,'МГУ':4000,'МГТУ':3000,'МИРЭА':950,'ВШЭ':3500,'МГИМО':1700,'МТУСИ':3}
type(slov)
<class 'dict'>
dir(slov)
['__class__', '__class_getitem__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__ior__', '__iter__', '__le__', '__len__', '__lt__', '__ne__', '__new__', '__or__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__ror__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'clear', 'copy', 'fromkeys', 'get', 'items', 'keys', 'pop', 'popitem', 'setdefault', 'update', 'values']
```
3)
```py
print(slov[str(input("Введите 1-й вуз"))] + slov[str(input("Введите 2-й вуз"))])
Введите 1-й вузМЭИ
Введите 2-й вузВШЭ
5000
```
4)
```py
spis=list(slov)
spis
['МЭИ', 'МГУ', 'МГТУ', 'МИРЭА', 'ВШЭ', 'МГИМО', 'МТУСИ']
strok = str(spis)
strok
"['МЭИ', 'МГУ', 'МГТУ', 'МИРЭА', 'ВШЭ', 'МГИМО', 'МТУСИ']"
spis2 = strok.split(",")
spis2
["['МЭИ'", " 'МГУ'", " 'МГТУ'", " 'МИРЭА'", " 'ВШЭ'", " 'МГИМО'", " 'МТУСИ']"]
```
5)
```py
vuz1=input("Введите 1-й вуз")
Введите 1-й вузМЭИ
vuz2=input("Введите 2-й вуз")
Введите 2-й вузМТУСИ
print(f"Число студентов в {vuz1} и {vuz2} =: {slov[vuz1] + slov[vuz2]}")
Число студентов в МЭИ и МТУСИ =: 1503
```

Двоичные данные
TEMA4/Ris1.png

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 20 KiB

Двоичные данные
TEMA4/Ris2.png

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 15 KiB

Двоичные данные
TEMA4/Ris3.png

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 9.9 KiB

Двоичные данные
TEMA4/Ris4.png

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 6.5 KiB

Двоичные данные
TEMA4/Ris_1.1.png

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 26 KiB

@ -0,0 +1,287 @@
import os
os.chdir(r'C:\Users\uprkt\Desktop\ПО\python-labs\TEMA4')
help round
SyntaxError: invalid syntax
help(round)
Help on built-in function round in module builtins:
round(number, ndigits=None)
Round a number to a given precision in decimal digits.
The return value is an integer if ndigits is omitted or None. Otherwise
the return value has the same type as the number. ndigits may be negative.
round(123,456,1)
Traceback (most recent call last):
File "<pyshell#4>", line 1, in <module>
round(123,456,1)
TypeError: round() takes at most 2 arguments (3 given)
round(123.456,1)
123.5
round(123.456,0)
123.0
round(123.456)
123
gg=range(76, 123, 9)
type(gg)
<class 'range'>
list(gg)
[76, 85, 94, 103, 112, 121]
range(23)
range(0, 23)
qq = ['Мамакин','Савин','Симанков','Киреев']
ff=zip(gg,qq)
tuple(ff)
((76, 'Мамакин'), (85, 'Савин'), (94, 'Симанков'), (103, 'Киреев'))
ff[1]
Traceback (most recent call last):
File "<pyshell#15>", line 1, in <module>
ff[1]
TypeError: 'zip' object is not subscriptable
fff=float(input('коэффициент усиления='))
коэффициент усиления=54
dan=eval('5*fff-156')
dan
114.0
exec(input('введите инструкции:'))
введите инструкции:perem=-123.456;gg=round(abs(perem)+98,3)
gg
221.456
list(map(len, qq))
[7, 5, 8, 6]
divmod(64,5)
(12, 4)
import math
dir(math)
['__doc__', '__loader__', '__name__', '__package__', '__spec__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2', 'atanh', 'cbrt', 'ceil', 'comb', 'copysign', 'cos', 'cosh', 'degrees', 'dist', 'e', 'erf', 'erfc', 'exp', 'exp2', 'expm1', 'fabs', 'factorial', 'floor', 'fma', 'fmod', 'frexp', 'fsum', 'gamma', 'gcd', 'hypot', 'inf', 'isclose', 'isfinite', 'isinf', 'isnan', 'isqrt', 'lcm', 'ldexp', 'lgamma', 'log', 'log10', 'log1p', 'log2', 'modf', 'nan', 'nextafter', 'perm', 'pi', 'pow', 'prod', 'radians', 'remainder', 'sin', 'sinh', 'sqrt', 'sumprod', 'tan', 'tanh', 'tau', 'trunc', 'ulp']
help(math.factorial)
Help on built-in function factorial in module math:
factorial(n, /)
Find n!.
math.factorial(5)
120
math.degrees(math.acos(math.sin(math.pi)))
90.0
math.sin(2*math.pi / 7 + math.exp(0.23))
0.8334902641414562
import cmath
dir(cmath)
['__doc__', '__loader__', '__name__', '__package__', '__spec__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atanh', 'cos', 'cosh', 'e', 'exp', 'inf', 'infj', 'isclose', 'isfinite', 'isinf', 'isnan', 'log', 'log10', 'nan', 'nanj', 'phase', 'pi', 'polar', 'rect', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'tau']
cmath.sqrt(1.2-0.5j)
(1.118033988749895-0.22360679774997896j)
cmath.phase(1-0.5j)
-0.4636476090008061
import random
dir(random)
['BPF', 'LOG4', 'NV_MAGICCONST', 'RECIP_BPF', 'Random', 'SG_MAGICCONST', 'SystemRandom', 'TWOPI', '_ONE', '_Sequence', '__all__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', '_accumulate', '_acos', '_bisect', '_ceil', '_cos', '_e', '_exp', '_fabs', '_floor', '_index', '_inst', '_isfinite', '_lgamma', '_log', '_log2', '_os', '_parse_args', '_pi', '_random', '_repeat', '_sha512', '_sin', '_sqrt', '_test', '_test_generator', '_urandom', 'betavariate', 'binomialvariate', 'choice', 'choices', 'expovariate', 'gammavariate', 'gauss', 'getrandbits', 'getstate', 'lognormvariate', 'main', 'normalvariate', 'paretovariate', 'randbytes', 'randint', 'random', 'randrange', 'sample', 'seed', 'setstate', 'shuffle', 'triangular', 'uniform', 'vonmisesvariate', 'weibullvariate']
help(random.seed())
Help on NoneType object:
class NoneType(object)
| The type of the None singleton.
|
| Methods defined here:
|
| __bool__(self, /)
| True if self else False
|
| __eq__(self, value, /)
| Return self==value.
|
| __ge__(self, value, /)
| Return self>=value.
|
| __gt__(self, value, /)
| Return self>value.
|
| __hash__(self, /)
| Return hash(self).
|
| __le__(self, value, /)
| Return self<=value.
|
| __lt__(self, value, /)
| Return self<value.
|
| __ne__(self, value, /)
| Return self!=value.
|
| __repr__(self, /)
| Return repr(self).
|
| ----------------------------------------------------------------------
| Static methods defined here:
|
| __new__(*args, **kwargs)
| Create and return a new object. See help(type) for accurate signature.
random.seed()
random.random()
0.6216104315561441
random.uniform()
Traceback (most recent call last):
File "<pyshell#38>", line 1, in <module>
random.uniform()
TypeError: Random.uniform() missing 2 required positional arguments: 'a' and 'b'
random.uniform(0,1)
0.15558476742451
random.randint()
Traceback (most recent call last):
File "<pyshell#40>", line 1, in <module>
random.randint()
TypeError: Random.randint() missing 2 required positional arguments: 'a' and 'b'
random.randint(0,100)
65
random.gauss()
-1.2490453714301064
random.choice([1,2,3,4,5])
5
random.shuffle([1,2,3,4,5])
sp = [1,2,3,4,5,6,7,8,9]
random.shuffle(sp)
sp
[8, 2, 5, 9, 6, 7, 1, 3, 4]
random.sample(sp, 3)
[6, 1, 7]
random.betavariate()
Traceback (most recent call last):
File "<pyshell#49>", line 1, in <module>
random.betavariate()
TypeError: Random.betavariate() missing 2 required positional arguments: 'alpha' and 'beta'
random.betavariate(0.5, 0.5)
0.21196520335129634
random.gammavariate(0.5, 0.5)
0.18678325471924362
sp1 = [random.random(), random.gauss(), random.betavariate(0.5,0.5), random.gammavariate(0.5, 0.5)]
sp1
[0.09352103273802048, 0.41529631729753796, 0.5372987697985309, 0.08540638796369146]
import time
dir(time)
['_STRUCT_TM_ITEMS', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'altzone', 'asctime', 'ctime', 'daylight', 'get_clock_info', 'gmtime', 'localtime', 'mktime', 'monotonic', 'monotonic_ns', 'perf_counter', 'perf_counter_ns', 'process_time', 'process_time_ns', 'sleep', 'strftime', 'strptime', 'struct_time', 'thread_time', 'thread_time_ns', 'time', 'time_ns', 'timezone', 'tzname']
c1=time.time()
c2=time.time()-c1
c2
13.89244294166565
dat = time.gmtime()
dat.tm_mon()
Traceback (most recent call last):
File "<pyshell#60>", line 1, in <module>
dat.tm_mon()
TypeError: 'int' object is not callable
dat.tm_mon
9
dat1 = time.localtime()
dat1.tm_day
Traceback (most recent call last):
File "<pyshell#63>", line 1, in <module>
dat1.tm_day
AttributeError: 'time.struct_time' object has no attribute 'tm_day'. Did you mean: 'tm_mday'?
dit1.tm_mday
Traceback (most recent call last):
File "<pyshell#64>", line 1, in <module>
dit1.tm_mday
NameError: name 'dit1' is not defined. Did you mean: 'dat1'?
dat1.tm_mday
28
time.asctime(dat)
'Sat Sep 27 21:23:38 2025'
time.ctime(564783)
'Wed Jan 7 15:53:03 1970'
time.mktime(dat1)
1759008378.0
time.localtime(c1)
time.struct_time(tm_year=2025, tm_mon=9, tm_mday=28, tm_hour=0, tm_min=22, tm_sec=49, tm_wday=6, tm_yday=271, tm_isdst=0)
import pylab
Traceback (most recent call last):
File "<pyshell#70>", line 1, in <module>
import pylab
ModuleNotFoundError: No module named 'pylab'
import sys
sys.path.append('C:\Users\uprkt\AppData\Local\Programs\Python\Python313\\lib\\site-packages')
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape
sys.path.append(C:\Users\uprkt\AppData\Local\Programs\Python\Python313\\lib\\site-packages)
SyntaxError: invalid character '' (U+2018)
sys.path.append(rC:\Users\uprkt\AppData\Local\Programs\Python\Python313\\lib\\site-packages)
SyntaxError: invalid character '' (U+2018)
sys.path.append(r'C:\Users\uprkt\AppData\Local\Programs\Python\Python313\\lib\\site-packages')
import pylab
Traceback (most recent call last):
File "<pyshell#76>", line 1, in <module>
import pylab
ModuleNotFoundError: No module named 'pylab'
import pylab
x=list(range(-3,55,4))
t=list(range(15))
pylab.plot(t,x)
[<matplotlib.lines.Line2D object at 0x0000020CE16E6850>]
pylab.title('Первый график')
Text(0.5, 1.0, 'Первый график')
pylab.xlabel('время')
Text(0.5, 0, 'время')
pylab.ylabel('сигнал')
Text(0, 0.5, 'сигнал')
pylab.show()
X1=[12,6,8,10,7]
X2=[5,7,9,11,13]
pylab.plot(X1)
[<matplotlib.lines.Line2D object at 0x0000020CE37DB110>]
pylab.plot(X2)
[<matplotlib.lines.Line2D object at 0x0000020CE37DB250>]
pylab.show()
region=['Центр','Урал','Сибирь','Юг']
naselen=[65,12,23,17]
pylab.pie(naselen,labels=region)
([<matplotlib.patches.Wedge object at 0x0000020CE16C9940>, <matplotlib.patches.Wedge object at 0x0000020CE1EBCB90>, <matplotlib.patches.Wedge object at 0x0000020CE1EBCF50>, <matplotlib.patches.Wedge object at 0x0000020CE1EBD1D0>], [Text(-0.191013134139045, 1.0832885038559115, 'Центр'), Text(-0.861328292412156, -0.6841882582231001, 'Урал'), Text(0.04429273995539947, -1.0991078896938387, 'Сибирь'), Text(0.9873750693480946, -0.48486129194837324, 'Юг')])
pylab.show()
pylab.hist(X1)
(array([1., 1., 0., 1., 0., 0., 1., 0., 0., 1.]), array([ 6. , 6.6, 7.2, 7.8, 8.4, 9. , 9.6, 10.2, 10.8, 11.4, 12. ]), <BarContainer object of 10 artists>)
pylab.show()
pylab.hist(X1, 4)
(array([2., 1., 1., 1.]), array([ 6. , 7.5, 9. , 10.5, 12. ]), <BarContainer object of 4 artists>)
pylab.show()
pylab.bar(X1, X2)
<BarContainer object of 5 artists>
pylab.show()
import statistics as st
dir(st)
['Counter', 'Decimal', 'Fraction', 'LinearRegression', 'NormalDist', 'StatisticsError', '_SQRT2', '__all__', '__annotations__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', '_coerce', '_convert', '_decimal_sqrt_of_frac', '_exact_ratio', '_fail_neg', '_float_sqrt_of_frac', '_integer_sqrt_of_frac_rto', '_isfinite', '_kernel_invcdfs', '_mean_stdev', '_newton_raphson', '_normal_dist_inv_cdf', '_quartic_invcdf', '_quartic_invcdf_estimate', '_random', '_rank', '_sqrt_bit_width', '_sqrtprod', '_ss', '_sum', '_triweight_invcdf', '_triweight_invcdf_estimate', 'acos', 'asin', 'atan', 'bisect_left', 'bisect_right', 'correlation', 'cos', 'cosh', 'count', 'covariance', 'defaultdict', 'erf', 'exp', 'fabs', 'fmean', 'fsum', 'geometric_mean', 'groupby', 'harmonic_mean', 'hypot', 'isfinite', 'isinf', 'itemgetter', 'kde', 'kde_random', 'linear_regression', 'log', 'math', 'mean', 'median', 'median_grouped', 'median_high', 'median_low', 'mode', 'multimode', 'namedtuple', 'numbers', 'pi', 'pstdev', 'pvariance', 'quantiles', 'random', 'reduce', 'repeat', 'sin', 'sqrt', 'stdev', 'sumprod', 'sys', 'tan', 'tau', 'variance']
st.mean(X1)
8.6
st.median(X2)
9
st.linear_regression(X1, X2)
LinearRegression(slope=-0.5172413793103449, intercept=13.448275862068964)
divmod((round(cmath.phase(0.2+0,8j), 2))*20, 3)
Traceback (most recent call last):
File "<pyshell#105>", line 1, in <module>
divmod((round(cmath.phase(0.2+0,8j), 2))*20, 3)
TypeError: cmath.phase() takes exactly one argument (2 given)
divmod((round(cmath.phase(0.2+0.8j), 2))*20, 3)
(8.0, 2.6000000000000014)
round(cmath.phase(0.2+0.8j), 2)
1.33
(round(cmath.phase(0.2+0.8j), 2))*20
26.6
divmod((round(cmath.phase(0.2+0.8j), 2))*20, 3)
(8.0, 2.6000000000000014)
divmod(((round(cmath.phase(0.2+0.8j), 2))*20), 3)
(8.0, 2.6000000000000014)
tt = time.localtime()
tt.tm_hour + ':' + tt.tm_min
Traceback (most recent call last):
File "<pyshell#112>", line 1, in <module>
tt.tm_hour + ':' + tt.tm_min
TypeError: unsupported operand type(s) for +: 'int' and 'str'
str(tt.tm_hour) + ':' + str(tt.tm_min)
'2:34'
dni = ['Понедельник','Вторник','Среда','Пятница','Четверг','Суббота','Воскресенье']
random.sample(dni, 3)
['Суббота', 'Пятница', 'Понедельник']
random.choice(range(14, 32, 3))
26
random.sample(['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'], round(random.gauss(15,4)))
['s', 'b', 'h', 'j', 'm', 'p', 'i', 'd', 'x', 'r', 'y']
(time.time() - time.mktime(tt))/60
14.89702452023824

@ -0,0 +1,281 @@
# Отчет по теме 4
Мамакин Ярослав, А-02-23
## 1 Начало работы
Запустил среду IDLE, установил рабочую папку.
## 2 Стандартные функции из модуля builtins.
## 2.1 Функция округления
```py
>>>help(round)
Help on built-in function round in module builtins:
round(number, ndigits=None)
Round a number to a given precision in decimal digits.
The return value is an integer if ndigits is omitted or None. Otherwise
the return value has the same type as the number. ndigits may be negative.
>>>round(123.456,1)
123.5
>>>round(123.456,0)
123.0
>>>round(123.456)
123
```
В первых двух случаях тип float, во втором - int.
## 2.2 Функция создания последовательности
```py
>>>gg=range(76, 123, 9)
>>>type(gg)
<class 'range'>
>>>list(gg)
[76, 85, 94, 103, 112, 121]
>>>range(23) # последовательность целых чисел от 0 до 22 включительно с шагом 1
range(0, 23)
```
## 2.3 Функция zip
```py
>>>qq = ['Мамакин','Савин','Симанков','Киреев']
>>>ff=zip(gg,qq)
>>>tuple(ff)
((76, 'Мамакин'), (85, 'Савин'), (94, 'Симанков'), (103, 'Киреев'))
>>>ff[1]
Traceback (most recent call last):
File "<pyshell#15>", line 1, in <module>
ff[1]
TypeError: 'zip' object is not subscriptable
```
К объекту zip с указанием индекса обращаться нельзя.
## 2.4 Функция eval
```py
>>>fff=float(input('коэффициент усиления='))
коэффициент усиления=54
>>>dan=eval('5*fff-156')
>>>dan
114.0
```
## 2.5 Функция exec
```py
>>>exec(input('введите инструкции:'))
введите инструкции:perem=-123.456;gg=round(abs(perem)+98,3)
>>>gg
221.456
```
## 2.6 Другие встроенные функции
```py
list(map(len, qq))
[7, 5, 8, 6] # Длины фамилий из списка qq
divmod(64,5)
(12, 4) # Кортеж с частным и остатком при делении 64 на 5
```
## 3 Модуль math
```py
>>>import math
>>>dir(math)
['__doc__', '__loader__', '__name__', '__package__', '__spec__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2', 'atanh', 'cbrt', 'ceil', 'comb', 'copysign', 'cos', 'cosh', 'degrees', 'dist', 'e', 'erf', 'erfc', 'exp', 'exp2', 'expm1', 'fabs', 'factorial', 'floor', 'fma', 'fmod', 'frexp', 'fsum', 'gamma', 'gcd', 'hypot', 'inf', 'isclose', 'isfinite', 'isinf', 'isnan', 'isqrt', 'lcm', 'ldexp', 'lgamma', 'log', 'log10', 'log1p', 'log2', 'modf', 'nan', 'nextafter', 'perm', 'pi', 'pow', 'prod', 'radians', 'remainder', 'sin', 'sinh', 'sqrt', 'sumprod', 'tan', 'tanh', 'tau', 'trunc', 'ulp']
>>>help(math.factorial)
Help on built-in function factorial in module math:
factorial(n, /)
Find n!.
>>>math.factorial(5)
120
>>>math.degrees(math.acos(math.sin(math.pi)))
90.0
>>>math.sin(2*math.pi / 7 + math.exp(0.23))
0.8334902641414562
```
## 4 Модуль cmath
```py
import cmath
dir(cmath)
['__doc__', '__loader__', '__name__', '__package__', '__spec__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atanh', 'cos', 'cosh', 'e', 'exp', 'inf', 'infj', 'isclose', 'isfinite', 'isinf', 'isnan', 'log', 'log10', 'nan', 'nanj', 'phase', 'pi', 'polar', 'rect', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'tau']
cmath.sqrt(1.2-0.5j)
(1.118033988749895-0.22360679774997896j)
cmath.phase(1-0.5j)
-0.4636476090008061
```
## 5 Модуль random
```py
>>>import random
>>>dir(random)
['BPF', 'LOG4', 'NV_MAGICCONST', 'RECIP_BPF', 'Random', 'SG_MAGICCONST', 'SystemRandom', 'TWOPI', '_ONE', '_Sequence', '__all__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', '_accumulate', '_acos', '_bisect', '_ceil', '_cos', '_e', '_exp', '_fabs', '_floor', '_index', '_inst', '_isfinite', '_lgamma', '_log', '_log2', '_os', '_parse_args', '_pi', '_random', '_repeat', '_sha512', '_sin', '_sqrt', '_test', '_test_generator', '_urandom', 'betavariate', 'binomialvariate', 'choice', 'choices', 'expovariate', 'gammavariate', 'gauss', 'getrandbits', 'getstate', 'lognormvariate', 'main', 'normalvariate', 'paretovariate', 'randbytes', 'randint', 'random', 'randrange', 'sample', 'seed', 'setstate', 'shuffle', 'triangular', 'uniform', 'vonmisesvariate', 'weibullvariate']
>>>help(random.seed())
Help on NoneType object:
class NoneType(object)
| The type of the None singleton.
|
| Methods defined here:
|
| __bool__(self, /)
| True if self else False
|
| __eq__(self, value, /)
| Return self==value.
|
| __ge__(self, value, /)
| Return self>=value.
|
| __gt__(self, value, /)
| Return self>value.
|
| __hash__(self, /)
| Return hash(self).
|
| __le__(self, value, /)
| Return self<=value.
|
| __lt__(self, value, /)
| Return self<value.
|
| __ne__(self, value, /)
| Return self!=value.
|
| __repr__(self, /)
| Return repr(self).
|
| ----------------------------------------------------------------------
| Static methods defined here:
|
| __new__(*args, **kwargs)
| Create and return a new object. See help(type) for accurate signature.
>>>random.seed()
>>>random.random()
0.6216104315561441
>>>random.uniform(0,1)
0.15558476742451
>>>random.randint(0,100)
65
>>>random.gauss()
-1.2490453714301064
>>>random.choice([1,2,3,4,5])
5
>>>sp = [1,2,3,4,5,6,7,8,9]
>>>random.shuffle(sp)
>>>sp
[8, 2, 5, 9, 6, 7, 1, 3, 4]
>>>random.sample(sp, 3)
[6, 1, 7]
>>>random.betavariate(0.5, 0.5)
0.21196520335129634
>>>random.gammavariate(0.5, 0.5)
0.18678325471924362
>>>sp1 = [random.random(), random.gauss(), random.betavariate(0.5,0.5), random.gammavariate(0.5, 0.5)]
>>>sp1
[0.09352103273802048, 0.41529631729753796, 0.5372987697985309, 0.08540638796369146]
```
## 6 Модуль time
```py
>>>import time
>>>dir(time)
['_STRUCT_TM_ITEMS', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'altzone', 'asctime', 'ctime', 'daylight', 'get_clock_info', 'gmtime', 'localtime', 'mktime', 'monotonic', 'monotonic_ns', 'perf_counter', 'perf_counter_ns', 'process_time', 'process_time_ns', 'sleep', 'strftime', 'strptime', 'struct_time', 'thread_time', 'thread_time_ns', 'time', 'time_ns', 'timezone', 'tzname']
>>>c1=time.time()
>>>c2=time.time()-c1
>>>c2
13.89244294166565
>>>dat = time.gmtime()
>>>dat.tm_mon
9
>>>dat1 = time.localtime()
>>>dat1.tm_mday
28
>>>time.asctime(dat)
'Sat Sep 27 21:23:38 2025'
>>>time.ctime(564783)
'Wed Jan 7 15:53:03 1970'
>>>time.mktime(dat1)
1759008378.0
>>>time.localtime(c1)
time.struct_time(tm_year=2025, tm_mon=9, tm_mday=28, tm_hour=0, tm_min=22, tm_sec=49, tm_wday=6, tm_yday=271, tm_isdst=0)
```
## 7 Модуль pylab
```py
import pylab
x=list(range(-3,55,4))
t=list(range(15))
pylab.plot(t,x)
[<matplotlib.lines.Line2D object at 0x0000020CE16E6850>]
pylab.title('Первый график')
Text(0.5, 1.0, 'Первый график')
pylab.xlabel('время')
Text(0.5, 0, 'время')
pylab.ylabel('сигнал')
Text(0, 0.5, 'сигнал')
pylab.show()
```
![Полученный график](Ris1.png)
```py
X1=[12,6,8,10,7]
X2=[5,7,9,11,13]
pylab.plot(X1)
[<matplotlib.lines.Line2D object at 0x0000020CE37DB110>]
pylab.plot(X2)
[<matplotlib.lines.Line2D object at 0x0000020CE37DB250>]
pylab.show()
```
![Совмещенные графики](Ris_1.1.png)
```py
region=['Центр','Урал','Сибирь','Юг']
naselen=[65,12,23,17]
pylab.pie(naselen,labels=region)
([<matplotlib.patches.Wedge object at 0x0000020CE16C9940>, <matplotlib.patches.Wedge object at 0x0000020CE1EBCB90>, <matplotlib.patches.Wedge object at 0x0000020CE1EBCF50>, <matplotlib.patches.Wedge object at 0x0000020CE1EBD1D0>], [Text(-0.191013134139045, 1.0832885038559115, 'Центр'), Text(-0.861328292412156, -0.6841882582231001, 'Урал'), Text(0.04429273995539947, -1.0991078896938387, 'Сибирь'), Text(0.9873750693480946, -0.48486129194837324, 'Юг')])
pylab.show()
```
![Круговая диаграмма](Ris2.png)
```py
pylab.hist(X1, 4)
(array([2., 1., 1., 1.]), array([ 6. , 7.5, 9. , 10.5, 12. ]), <BarContainer object of 4 artists>)
pylab.show()
```
![Гисторамма](Ris3.png)
```py
pylab.bar(X1, X2)
<BarContainer object of 5 artists>
pylab.show()
```
![Столбцовая диаграмма](Ris4.png)
## 8 Модуль statistics
```py
import statistics as st
dir(st)
['Counter', 'Decimal', 'Fraction', 'LinearRegression', 'NormalDist', 'StatisticsError', '_SQRT2', '__all__', '__annotations__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', '_coerce', '_convert', '_decimal_sqrt_of_frac', '_exact_ratio', '_fail_neg', '_float_sqrt_of_frac', '_integer_sqrt_of_frac_rto', '_isfinite', '_kernel_invcdfs', '_mean_stdev', '_newton_raphson', '_normal_dist_inv_cdf', '_quartic_invcdf', '_quartic_invcdf_estimate', '_random', '_rank', '_sqrt_bit_width', '_sqrtprod', '_ss', '_sum', '_triweight_invcdf', '_triweight_invcdf_estimate', 'acos', 'asin', 'atan', 'bisect_left', 'bisect_right', 'correlation', 'cos', 'cosh', 'count', 'covariance', 'defaultdict', 'erf', 'exp', 'fabs', 'fmean', 'fsum', 'geometric_mean', 'groupby', 'harmonic_mean', 'hypot', 'isfinite', 'isinf', 'itemgetter', 'kde', 'kde_random', 'linear_regression', 'log', 'math', 'mean', 'median', 'median_grouped', 'median_high', 'median_low', 'mode', 'multimode', 'namedtuple', 'numbers', 'pi', 'pstdev', 'pvariance', 'quantiles', 'random', 'reduce', 'repeat', 'sin', 'sqrt', 'stdev', 'sumprod', 'sys', 'tan', 'tau', 'variance']
st.mean(X1) # вычисление среднего
8.6
st.median(X2) # вычисление медианы
9
st.linear_regression(X1, X2) # построение простой линейной регрессионной модели
LinearRegression(slope=-0.5172413793103449, intercept=13.448275862068964)
```

@ -0,0 +1,32 @@
# Общее контрольное задание по теме 4
Мамакин Ярослав, А-02-23
## Задание
Реализовать, записать в текстовый файл и проанализировать результаты последовательности ин-струкций, выполняющих следующие действия:
• Напишите и исполните единое выражение, реализующее последовательное выполнение следу-ющих операций: вычисление фазы комплексного числа 0.2+0.8j, округление результата до двух знаков после запятой, умножение полученного значения на 20, получение кортежа из двух зна-чений: округленное вниз значение от деления результата на 3 и остатка от этого деления.
• Создайте объект класса struct_time с временными параметрами для текущего московского времени. Создайте строку с текущим часом и минутами.
• Создайте список с элементами – названиями дней недели. Сделайте случайную выборку из это-го списка с тремя днями недели.
• Напишите инструкцию случайного выбора числа из последовательности целых чисел от 14 до 32 с шагом 3.
• Сгенерируйте нормально распределенное число N с математическим ожиданием 15 и стандарт-ным отклонением 4 и округлите его до целого значения. Создайте список с N элементами – случайно выбранными буквами латинского алфавита.
• Напишите инструкцию для определения временного интервала в минутах, прошедшего с мо-мента предыдущего (из п.2) определения временных параметров.
# Решение
```py
divmod(((round(cmath.phase(0.2+0.8j), 2))*20), 3)
(8.0, 2.6000000000000014)
tt = time.localtime()
str(tt.tm_hour) + ':' + str(tt.tm_min)
'2:34'
dni = ['Понедельник','Вторник','Среда','Пятница','Четверг','Суббота','Воскресенье']
random.sample(dni, 3)
['Суббота', 'Пятница', 'Понедельник']
random.choice(range(14, 32, 3))
26
random.sample(['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'], round(random.gauss(15,4)))
['s', 'b', 'h', 'j', 'm', 'p', 'i', 'd', 'x', 'r', 'y']
(time.time() - time.mktime(tt))/60
14.89702452023824
```

Двоичные данные
TEMA5/Figure_1.png

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 37 KiB

Двоичные данные
TEMA5/Figure_2.png

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 16 KiB

@ -0,0 +1,235 @@
import os
os.chdir(r'C:\Users\uprkt\Desktop\ПО\python-labs\TEMA5')
porog = 10
rashod1 = 5
rashod2 = 3
if rashod1>=porog:
dohod=12
elif rashod2==porog:
dohod=0
else:
dohod=-8
dohod
-8
if rashod1>=3 and rashod2==4:
dohod=rashod1
if rashod2==porog or rashod1<rashod2:
dohod=porog
dohod
-8
if porog==3:
dohod=1
elif porog==4:
dohod=2
elif porog==5:
dohod=3
else:
dohod=0
dohod
0
dohod=2 if porog >= 4 else 0
dohod
2
if porog>=5: rashod1=6;rashod2=0
rashod1;rashod2
SyntaxError: invalid syntax
if porog>=5: rashod1=6;rashod2=0
rashod1;rashod2
6
0
temperatura=5
for i in range(3,18,3):
temperatura+=1
temperatura
10
sps=[2,15,14,8]
for k in sps:
if len(sps)<=10:sps.append(sps[0])
else:break
sps
[2, 15, 14, 8, 2, 2, 2, 2, 2, 2, 2]
sps=[2,15,14,8]
for k in sps[:]:
if len(sps)<=10:sps.append(sps[0])
else:break
sps
[2, 15, 14, 8, 2, 2, 2, 2]
import random as rn
sps5=[]
for i in range(10):
sps5.append(rn.randint(1,100))
ss=sum(sps5)
if ss>500: break
else:
print(ss)
sps5=[]
for i in range(10):
sps5.append(rn.randint(1,100))
ss=sum(sps5)
if ss>500: break
else:
print(ss)
395
stroka='Это – автоматизированная система'
stroka1=""
for ss in stroka:
stroka1+=" "+ss
stroka1
' Э т о – а в т о м а т и з и р о в а н н а я с и с т е м а'
import math
sps2=[math.sin(i*math.pi/5+2) for i in range(100)]
import pylab
pylab.pl
pylab.plot(sps2)
[<matplotlib.lines.Line2D object at 0x000001F9DE202490>]
py
pylab.show()
rashod=300
while rashod:
print("Расход=",rashod)
rashod-=50
Расход= 300
Расход= 250
Расход= 200
Расход= 150
Расход= 100
Расход= 50
import math
stroka='Расчет процесса в объекте регулирования'
i=0
sps2=[]
while i<len(stroka):
r=1-2/(1+math.exp(0.1*i))
sps2.append(r)
print('Значение в момент',i,"=",r)
i+=1
Значение в момент 0 = 0.0
Значение в момент 1 = 0.049958374957880025
Значение в момент 2 = 0.09966799462495568
Значение в момент 3 = 0.14888503362331795
Значение в момент 4 = 0.197375320224904
Значение в момент 5 = 0.2449186624037092
Значение в момент 6 = 0.2913126124515909
Значение в момент 7 = 0.3363755443363322
Значение в момент 8 = 0.3799489622552249
Значение в момент 9 = 0.421899005250008
Значение в момент 10 = 0.4621171572600098
Значение в момент 11 = 0.5005202111902354
Значение в момент 12 = 0.5370495669980353
Значение в момент 13 = 0.5716699660851172
Значение в момент 14 = 0.6043677771171636
Значение в момент 15 = 0.6351489523872873
Значение в момент 16 = 0.6640367702678489
Значение в момент 17 = 0.6910694698329307
Значение в момент 18 = 0.7162978701990245
Значение в момент 19 = 0.7397830512740043
Значение в момент 20 = 0.7615941559557649
Значение в момент 21 = 0.7818063576087741
Значение в момент 22 = 0.8004990217606297
Значение в момент 23 = 0.8177540779702878
Значение в момент 24 = 0.8336546070121553
Значение в момент 25 = 0.8482836399575129
Значение в момент 26 = 0.8617231593133063
Значение в момент 27 = 0.874053287886007
Значение в момент 28 = 0.8853516482022625
Значение в момент 29 = 0.8956928738431645
Значение в момент 30 = 0.9051482536448664
Значение в момент 31 = 0.9137854901178277
Значение в момент 32 = 0.9216685544064713
Значение в момент 33 = 0.9288576214547277
Значение в момент 34 = 0.935409070603099
Значение в момент 35 = 0.9413755384972874
Значение в момент 36 = 0.9468060128462683
Значение в момент 37 = 0.9517459571646616
Значение в момент 38 = 0.9562374581277391
pylab.plot(sps2)
[<matplotlib.lines.Line2D object at 0x000001F9E03EB610>]
pylab.show()
chislo=267
kandidat =chislo // 2
while kandidat > 1:
if chislo%kandidat == 0:
print(chislo, ' имеет множитель ', kandidat)
break
kandidat -= 1
else:
print(chislo, ' является простым!')
267 имеет множитель 89
for chislo in range(250, 300):
kandidat =chislo // 2
while kandidat > 1:
if chislo%kandidat == 0:
print(chislo, ' имеет множитель ', kandidat)
break
kandidat -= 1
else:
print(chislo, ' является простым!')
250 имеет множитель 125
251 является простым!
252 имеет множитель 126
253 имеет множитель 23
254 имеет множитель 127
255 имеет множитель 85
256 имеет множитель 128
257 является простым!
258 имеет множитель 129
259 имеет множитель 37
260 имеет множитель 130
261 имеет множитель 87
262 имеет множитель 131
263 является простым!
264 имеет множитель 132
265 имеет множитель 53
266 имеет множитель 133
267 имеет множитель 89
268 имеет множитель 134
269 является простым!
270 имеет множитель 135
271 является простым!
272 имеет множитель 136
273 имеет множитель 91
274 имеет множитель 137
275 имеет множитель 55
276 имеет множитель 138
277 является простым!
278 имеет множитель 139
279 имеет множитель 93
280 имеет множитель 140
281 является простым!
282 имеет множитель 141
283 является простым!
284 имеет множитель 142
285 имеет множитель 95
286 имеет множитель 143
287 имеет множитель 41
288 имеет множитель 144
289 имеет множитель 17
290 имеет множитель 145
291 имеет множитель 97
292 имеет множитель 146
293 является простым!
294 имеет множитель 147
295 имеет множитель 59
296 имеет множитель 148
297 имеет множитель 99
298 имеет множитель 149
299 имеет множитель 23

@ -0,0 +1,292 @@
# Отчет по теме 5
Мамакин Ярослав, А-02-23
## 1 Начало работы
Запустил среду IDLE, установил рабочую папку.
## 2 Управляющая конструкция if
```py
>>>porog = 10
>>>rashod1 = 5
>>>rashod2 = 3
if rashod1>=porog:
dohod=12
elif rashod2==porog:
dohod=0
else:
dohod=-8
>>>dohod
-8
if rashod1>=3 and rashod2==4:
dohod=rashod1
if rashod2==porog or rashod1<rashod2:
dohod=porog
>>>dohod
-8
if porog==3:
dohod=1
elif porog==4:
dohod=2
elif porog==5:
dohod=3
else:
dohod=0
>>>dohod
0
>>>dohod=2 if porog >= 4 else 0
>>>dohod
2
if porog>=5: rashod1=6;rashod2=0
>>>rashod1;rashod2
6
0
```
## 3 Управляющая конструкция for
## 3.1 Пример простого цикла
```py
temperatura=5
for i in range(3,18,3):
temperatura+=1
>>>temperatura
10
```
## 3.2 Пример более сложного цикла
```py
sps=[2,15,14,8]
for k in sps:
if len(sps)<=10:sps.append(sps[0])
else:break
sps
[2, 15, 14, 8, 2, 2, 2, 2, 2, 2, 2]
sps=[2,15,14,8]
for k in sps[:]:
if len(sps)<=10:sps.append(sps[0])
else:break
sps
[2, 15, 14, 8, 2, 2, 2, 2]
```
В первом случае for перебирает все элементы sps, в том числе и добавленные в ходе выполнения цикла, а во втором - только 4 изначальных элемента.
## 3.3 Пример создания списка
```py
for i in range(10):
sps5.append(rn.randint(1,100))
ss=sum(sps5)
if ss>500: break
else:
print(ss)
sps5=[]
for i in range(10):
sps5.append(rn.randint(1,100))
ss=sum(sps5)
if ss>500: break
else:
print(ss)
395
```
Значение выводится только если сумма случайных чисел не превышает 500, это выполняется не всегда.
## 3.4 Пример работы со строкой
```py
stroka='Это – автоматизированная система'
stroka1=""
for ss in stroka:
stroka1+=" "+ss
stroka1
' Э т о – а в т о м а т и з и р о в а н н а я с и с т е м а'
```
## 3.5 Запись цикла в одну строку
```py
import math
sps2=[math.sin(i*math.pi/5+2) for i in range(100)]
import pylab
pylab.plot(sps2)
[<matplotlib.lines.Line2D object at 0x000001F9DE202490>]
pylab.show()
```
![График](Figure_1.png)
## 4 Управляющая инструкция while
## 4.1 Цикл со счетчиком
```py
rashod=300
while rashod:
print("Расход=",rashod)
rashod-=50
Расход= 300
Расход= 250
Расход= 200
Расход= 150
Расход= 100
Расход= 50
```
Когда rashod доходит до 0, соответствующее ему булево значение становится False и цикл завершается.
## 4.2 Пример со строками
```py
import math
stroka='Расчет процесса в объекте регулирования'
i=0
sps2=[]
while i<len(stroka):
r=1-2/(1+math.exp(0.1*i))
sps2.append(r)
print('Значение в момент',i,"=",r)
i+=1
Значение в момент 0 = 0.0
Значение в момент 1 = 0.049958374957880025
Значение в момент 2 = 0.09966799462495568
Значение в момент 3 = 0.14888503362331795
Значение в момент 4 = 0.197375320224904
Значение в момент 5 = 0.2449186624037092
Значение в момент 6 = 0.2913126124515909
Значение в момент 7 = 0.3363755443363322
Значение в момент 8 = 0.3799489622552249
Значение в момент 9 = 0.421899005250008
Значение в момент 10 = 0.4621171572600098
Значение в момент 11 = 0.5005202111902354
Значение в момент 12 = 0.5370495669980353
Значение в момент 13 = 0.5716699660851172
Значение в момент 14 = 0.6043677771171636
Значение в момент 15 = 0.6351489523872873
Значение в момент 16 = 0.6640367702678489
Значение в момент 17 = 0.6910694698329307
Значение в момент 18 = 0.7162978701990245
Значение в момент 19 = 0.7397830512740043
Значение в момент 20 = 0.7615941559557649
Значение в момент 21 = 0.7818063576087741
Значение в момент 22 = 0.8004990217606297
Значение в момент 23 = 0.8177540779702878
Значение в момент 24 = 0.8336546070121553
Значение в момент 25 = 0.8482836399575129
Значение в момент 26 = 0.8617231593133063
Значение в момент 27 = 0.874053287886007
Значение в момент 28 = 0.8853516482022625
Значение в момент 29 = 0.8956928738431645
Значение в момент 30 = 0.9051482536448664
Значение в момент 31 = 0.9137854901178277
Значение в момент 32 = 0.9216685544064713
Значение в момент 33 = 0.9288576214547277
Значение в момент 34 = 0.935409070603099
Значение в момент 35 = 0.9413755384972874
Значение в момент 36 = 0.9468060128462683
Значение в момент 37 = 0.9517459571646616
Значение в момент 38 = 0.9562374581277391
pylab.plot(sps2)
[<matplotlib.lines.Line2D object at 0x000001F9E03EB610>]
pylab.show()
```
![График](Figure_2.png)
## 4.3 Пример с выявлением простых чисел
```py
chislo=267
kandidat =chislo // 2
while kandidat > 1:
if chislo%kandidat == 0:
print(chislo, ' имеет множитель ', kandidat)
break
kandidat -= 1
else:
print(chislo, ' является простым!')
267 имеет множитель 89
for chislo in range(250, 300):
kandidat =chislo // 2
while kandidat > 1:
if chislo%kandidat == 0:
print(chislo, ' имеет множитель ', kandidat)
break
kandidat -= 1
else:
print(chislo, ' является простым!')
250 имеет множитель 125
251 является простым!
252 имеет множитель 126
253 имеет множитель 23
254 имеет множитель 127
255 имеет множитель 85
256 имеет множитель 128
257 является простым!
258 имеет множитель 129
259 имеет множитель 37
260 имеет множитель 130
261 имеет множитель 87
262 имеет множитель 131
263 является простым!
264 имеет множитель 132
265 имеет множитель 53
266 имеет множитель 133
267 имеет множитель 89
268 имеет множитель 134
269 является простым!
270 имеет множитель 135
271 является простым!
272 имеет множитель 136
273 имеет множитель 91
274 имеет множитель 137
275 имеет множитель 55
276 имеет множитель 138
277 является простым!
278 имеет множитель 139
279 имеет множитель 93
280 имеет множитель 140
281 является простым!
282 имеет множитель 141
283 является простым!
284 имеет множитель 142
285 имеет множитель 95
286 имеет множитель 143
287 имеет множитель 41
288 имеет множитель 144
289 имеет множитель 17
290 имеет множитель 145
291 имеет множитель 97
292 имеет множитель 146
293 является простым!
294 имеет множитель 147
295 имеет множитель 59
296 имеет множитель 148
297 имеет множитель 99
298 имеет множитель 149
299 имеет множитель 23
```

@ -0,0 +1,83 @@
# Общее контрольное задание по теме 5
Мамакин Ярослав, А-02-23
## Задание
Реализовать, записать в текстовый файл программы и результаты их выполнения при решении следующих задач:
• Для заданной символьной строки с англоязычным текстом (его можно заимствовать из помо-щи) определите порядковый номер каждой буквы в английском алфавите.
• Создайте список со словами из задания данного пункта. Для этого списка – определите, есть ли в нем некоторое заданное значение, и выведите соответствующее сообщение: либо о нахожде-нии элемента, либо о его отсутствии в списке (проверить как с имеющимся, так и с отсутству-ющим словом).
• Создайте список студентов вашей группы (3-4 фамилии) и список их средних баллов в летней сессии – в порядке перечисления студентов в первом списке. Создайте еще 2 аналогичных списка для тех же студентов, но в другом порядке, по зимней сессии. Напишите инструкции, позволяющие по указанной (запрошенной и введенной) фамилии студента вывести его средние баллы по двум сессиям.
## Решение
```py
st = 'SyntaxError: invalid syntax'
alph = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']
for i in st:
if i.lower() in alph:
print(i, ' - ', (''.join(alph)).find(i.lower())+1)
S - 19
y - 25
n - 14
t - 20
a - 1
x - 24
E - 5
r - 18
r - 18
o - 15
r - 18
i - 9
n - 14
v - 22
a - 1
l - 12
i - 9
d - 4
s - 19
y - 25
n - 14
t - 20
a - 1
x - 24
spi='Создайте список со словами из задания данного пункта Для этого списка определите есть ли в нем некоторое заданное значение и выведите соответствующее сообщение либо о нахождении элемента либо о его отсутствии в списке проверить как с имеющимся так и с отсутствующим словом'.split()
for i in range(len(spi)):
if spi[i] == 'есть':
print('найдено')
found = True
break
else:
if i == len(spi)-1:
print('не найдено')
найдено
for i in range(len(spi)):
if spi[i] == 'Хевисайд':
print('найдено')
found = True
break
else:
if i == len(spi)-1:
print('не найдено')
не найдено
stud1 = ['Мамакин','Савин','Володин','Киреев']
leto = [4.57, 3.95, 4.15, 4.83]
stud2 = ['Мамакин','Володин','Киреев','Савин']
zima = [4.67,4.24,5.0,4.11]
fam=input('Введите фамилию студента')
Введите фамилию студентаМамакин
for i in range(len(stud2)):
if stud1[i] == fam:
print('Средний за летнюю сессию: ', leto[i])
if stud2[i] == fam:
print('Средний за зимнюю сессию: ', zima[i])
Средний за летнюю сессию: 4.57
Средний за зимнюю сессию: 4.67
```
Загрузка…
Отмена
Сохранить