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

...

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

Автор SHA1 Сообщение Дата
OgarkovIA f19dbed3ff Добавил тестовое задание по теме 4
2 недель назад
Пользователь № 4 аудитории Ж-113 87380b6999 Тестовое задание по теме 4
2 недель назад
Пользователь № 4 аудитории Ж-113 6b2cb84080 Тестовое задание по теме 4
2 недель назад
OgarkovIA 259aba976e Изменил(а) на 'TEMA6/report.md'
2 недель назад
Ogarkov Ilya 2a42be9657 Сделал контрольное задание(control.py). Лабораторная работа полностью сделана
2 недель назад
Ogarkov Ilya bebe611a8c Сделал лабораторную намбер 6, осталось контрольное задание
2 недель назад
Пользователь № 10 аудитории Ж-202 4f4bd5ee01 Остановился на пункте 4.
2 недель назад
Ogarkov Ilya b870c67abc делаю 6 лабу
2 недель назад
OgarkovIA c2ee0a0458 Изменил(а) на 'TEMA5/report.md'
3 недель назад
Ogarkov Ilya 7224f35d19 control.py сделан
3 недель назад
Ogarkov Ilya b3f2969eb2 Merge branch 'main' of http://uit.mpei.ru/git/OgarkovIA/python-labs
3 недель назад
Ogarkov Ilya c2316e0e2a Лабораторная работа готова, без контрольного задания control.py
3 недель назад
OgarkovIA 0d5050d798 Изменил(а) на 'TEMA4/report.md'
3 недель назад
OgarkovIA cd689860a1 Изменил(а) на 'TEMA4/report.md'
3 недель назад
OgarkovIA e783818f23 Изменил(а) на 'TEMA4/report.md'
3 недель назад
Ogarkov Ilya ffb3f70758 code: Исправил код в control.py
3 недель назад
Ogarkov Ilya ba21b92ec3 doc:
3 недель назад
Пользователь № 5 аудитории Ж-113 cbe6799393 Merge branch 'main' of http://uit.mpei.ru/git/OgarkovIA/python-labs
4 недель назад
Пользователь № 5 аудитории Ж-113 c3592429de Control was done
4 недель назад
OgarkovIA cbfdb903fa Изменил(а) на 'TEMA4/report.md'
4 недель назад
Пользователь № 5 аудитории Ж-113 b2321e5dfb That all. Lab4 was done
4 недель назад
OgarkovIA 31e4e86e6a Изменил(а) на 'Tests/test1.py'
4 недель назад
Пользователь № 5 аудитории Ж-113 0bad0e334e doc:Add files for tests
4 недель назад
Пользователь № 5 аудитории Ж-113 94d217bb39 Add dir for tests
4 недель назад
OgarkovIA 1c8311a03a Изменил(а) на 'TEMA3/report.md'
4 недель назад
OgarkovIA 79bb61ef37 Изменил(а) на 'TEMA3/report.md'
4 недель назад
OgarkovIA 3e0d53cf1f Изменил(а) на 'TEMA3/report.md'
4 недель назад
OgarkovIA e0b0fc701f Изменил(а) на 'TEMA3/report.md'
4 недель назад
OgarkovIA 67b4674dba Изменил(а) на 'TEMA3/report.md'
4 недель назад
OgarkovIA 6305187125 Изменил(а) на 'TEMA3/report.md'
4 недель назад
Ogarkov Ilya 1f54b95608 end
4 недель назад
Ogarkov Ilya 87a8410e8c That all report.md
4 недель назад
Ogarkov Ilya 5dfe49b2b1 BEGGINNING
4 недель назад
OgarkovIA 7d850b0937 Изменил(а) на 'TEMA1/report.md'
2 месяцев назад
OgarkovIA a47c996fee Изменил(а) на 'TEMA1/report.md'
2 месяцев назад
OgarkovIA 95defa2ae1 Изменил(а) на 'TEMA1/report.md'
2 месяцев назад
OgarkovIA bf89e9e4ff Изменил(а) на 'TEMA1/report.md'
2 месяцев назад
OgarkovIA fdadb0a022 Изменил(а) на 'TEMA1/report.md'
2 месяцев назад
OgarkovIA 3b6a8d1333 Изменил(а) на 'TEMA1/report.md'
2 месяцев назад
OgarkovIA d2e8d36bd7 Изменил(а) на 'TEMA1/report.md'
2 месяцев назад
OgarkovIA 01776079c5 Изменил(а) на 'TEMA1/report.md'
2 месяцев назад
OgarkovIA 002c25ce29 Изменил(а) на 'TEMA1/report.md'
2 месяцев назад
OgarkovIA b26245adfe Изменил(а) на 'TEMA1/report.md'
2 месяцев назад
OgarkovIA a95f86a0e3 Изменил(а) на 'TEMA1/report.md'
2 месяцев назад
OgarkovIA 61fdabbe1e Изменил(а) на 'TEMA1/report.md'
2 месяцев назад
OgarkovIA 07e7c318e3 Изменил(а) на 'TEMA1/report.md'
2 месяцев назад
OgarkovIA dad824563e Изменил(а) на 'TEMA1/report.md'
2 месяцев назад
OgarkovIA fdee7ea3fa Изменил(а) на 'TEMA1/report.md'
2 месяцев назад
OgarkovIA d8ad2ee63d Изменил(а) на 'TEMA1/report.md'
2 месяцев назад
OgarkovIA 0dd95c510c Изменил(а) на 'TEMA1/report.md'
2 месяцев назад
OgarkovIA 39df1c0c05 Изменил(а) на 'TEMA1/report.md'
2 месяцев назад
OgarkovIA be6fafa3c6 Изменил(а) на 'TEMA1/report.md'
2 месяцев назад
OgarkovIA afd259242a Изменил(а) на 'TEMA1/report.md'
2 месяцев назад
Ogarkov Ilya f2b7f04301 Merge branch 'main' of http://uit.mpei.ru/git/OgarkovIA/python-labs
2 месяцев назад
Ogarkov Ilya a7e43cac6b Add task and test .md files
2 месяцев назад
OgarkovIA 9c7d796f23 Изменил(а) на 'TEMA2/report.md'
2 месяцев назад
OgarkovIA 63d57fa30a Изменил(а) на 'TEMA2/report.md'
2 месяцев назад
Ogarkov Ilya 03be55f96c Laboratory work No. 2 has been completed. Total DOMINATION
2 месяцев назад
Ogarkov Ilya c26f4219f8 Begginning
2 месяцев назад
Пользователь № 5 аудитории Ж-111 ce3be3507b that all commit
2 месяцев назад
Пользователь № 5 аудитории Ж-111 502c4c5a49 first commit
2 месяцев назад

Двоичные данные
Labs.docx

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

@ -0,0 +1,4 @@
# Протокол по Теме 1 Огарков Илья Александрович
import os
os.chdir('\\Users\\u111-05\\Desktop\\python-labs\\TEMA1')
import prb1

Двоичные данные
TEMA1/15.PNG

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

После

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

Двоичные данные
TEMA1/15clock.PNG

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

После

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

Двоичные данные
TEMA1/9.PNG

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

После

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

@ -1,2 +1,5 @@
name = input("Как Вас зовут? ") #Программа по Теме 1 Огарков Илья Александрович
print("Привет,", name) print('Hello')
h=input('Your name=')
import os
os.chdir('\\Users\\u111-05\\Desktop\\python-labs\\TEMA1')

@ -0,0 +1,384 @@
<h1 align="center">Отчёт по теме 1</h1>
**Выполнил Огарков Илья, А-03-23**
## 1 Изучение среды IDLE
## 1.1 Настройка текущего каталога
```
u111-05@w10prog-04 MINGW64 ~/Desktop/python-labs (main)
$ git remote add upstream http://uit.mpei.ru/git/main/python-labs.git
u111-05@w10prog-04 MINGW64 ~/Desktop/python-labs (main)
$ git fetch upstream
From http://uit.mpei.ru/git/main/python-labs
* [new branch] main -> upstream/main
u111-05@w10prog-04 MINGW64 ~/Desktop/python-labs (main)
$ git stash push
No local changes to save
u111-05@w10prog-04 MINGW64 ~/Desktop/python-labs (main)
$ git rebase upstream/main
Current branch main is up to date.
u111-05@w10prog-04 MINGW64 ~/Desktop/python-labs (main)
$ git stash pop
No stash entries found.
u111-05@w10prog-04 MINGW64 ~/Desktop/python-labs (main)
$ cd
.git/ TEMA0/ TEMA3/ TEMA6/ TEMA9/
.gitignore TEMA1/ TEMA4/ TEMA7/
README.md TEMA2/ TEMA5/ TEMA8/
u111-05@w10prog-04 MINGW64 ~/Desktop/python-labs (main)
$ cd TEMA1
u111-05@w10prog-04 MINGW64 ~/Desktop/python-labs/TEMA1 (main)
$ touch report.md
u111-05@w10prog-04 MINGW64 ~/Desktop/python-labs/TEMA1 (main)
$ git status
On branch main
Your branch is up to date with 'origin/main'.
Untracked files:
(use "git add <file>..." to include in what will be committed)
report.md
nothing added to commit but untracked files present (use "git add" to track)
u111-05@w10prog-04 MINGW64 ~/Desktop/python-labs/TEMA1 (main)
$ git add report.md
u111-05@w10prog-04 MINGW64 ~/Desktop/python-labs/TEMA1 (main)
$ git status
On branch main
Your branch is up to date with 'origin/main'.
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
new file: report.md
u111-05@w10prog-04 MINGW64 ~/Desktop/python-labs/TEMA1 (main)
$ git commit -m "first commit"
[main 502c4c5] first commit
Committer: Пользователь № 5 аудитории Ж-111 <u111-05@public.mpei.local>
Your name and email address were configured automatically based
on your username and hostname. Please check that they are accurate.
You can suppress this message by setting them explicitly. Run the
following command and follow the instructions in your editor to edit
your configuration file:
git config --global --edit
After doing this, you may fix the identity used for this commit with:
git commit --amend --reset-author
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 TEMA1/report.md
u111-05@w10prog-04 MINGW64 ~/Desktop/python-labs/TEMA1 (main)
$ git push
Enumerating objects: 6, done.
Counting objects: 100% (6/6), done.
Delta compression using up to 4 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (4/4), 429 bytes | 429.00 KiB/s, done.
Total 4 (delta 1), reused 1 (delta 0), pack-reused 0
remote:
remote: Create a new pull request for 'OgarkovIA:main':
remote: http://uit.mpei.ru/git/main/python-labs/compare/main...OgarkovIA:main
remote:
remote: . Processing 1 references
remote: Processed 1 references in total
To http://uit.mpei.ru/git/OgarkovIA/python-labs.git
437460a..502c4c5 main -> main
```
## 1.3-8
```python
>>> print('Hello')
Hello
>>> h=input('Your name=')
Your name=Ilya
>>>exit()
```
## 1.9 Изучите предложения главного меню
<img src="./9.PNG" alt="Описание" width="500" height="300" align="center">
## 1.10
```python
#Программа по Теме 1 Огарков Илья Александрович
print('Hello')
h=input('Your name=')
import os
os.chdir('\\Users\\u111-05\\Desktop\\python-labs\\TEMA1')
```
## 1.11
```python
import prb1
Hello
Your name=
```
## 1.13
```python
# Протокол по Теме 1 Огарков Илья Александрович
import os
os.chdir('\\Users\\u111-05\\Desktop\\python-labs\\TEMA1')
import prb1
```
# 1.14
```python
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(input)
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.
If the user hits EOF (*nix: Ctrl-D, Windows: Ctrl-Z+Return), raise EOFError.
On *nix systems, readline is used if available.
```
## 1.15
```python
# File: tdemo_chaos.py
# Author: Gregor Lingl
# Date: 2009-06-24
# A demonstration of chaos
from turtle import *
N = 80
def f(x):
return 3.9*x*(1-x)
def g(x):
return 3.9*(x-x**2)
def h(x):
return 3.9*x-3.9*x*x
def jumpto(x, y):
penup(); goto(x,y)
def line(x1, y1, x2, y2):
jumpto(x1, y1)
pendown()
goto(x2, y2)
def coosys():
line(-1, 0, N+1, 0)
line(0, -0.1, 0, 1.1)
def plot(fun, start, color):
pencolor(color)
x = start
jumpto(0, x)
pendown()
dot(5)
for i in range(N):
x=fun(x)
goto(i+1,x)
dot(5)
def main():
reset()
setworldcoordinates(-1.0,-0.1, N+1, 1.1)
speed(0)
hideturtle()
coosys()
plot(f, 0.35, "blue")
plot(g, 0.35, "green")
plot(h, 0.35, "red")
# Now zoom in:
for s in range(100):
setworldcoordinates(0.5*s,-0.1, N+1, 1.1)
return "Done!"
if __name__ == "__main__":
main()
mainloop()
```
<img src="./15.PNG" alt="Описание" width="500" height="300" align="center">
```python
#!/usr/bin/env python3
# -*- coding: cp1252 -*-
""" turtle-example-suite:
tdemo_clock.py
Enhanced clock-program, showing date
and time
------------------------------------
Press STOP to exit the program!
------------------------------------
"""
from turtle import *
from datetime import datetime
def jump(distanz, winkel=0):
penup()
right(winkel)
forward(distanz)
left(winkel)
pendown()
def hand(laenge, spitze):
fd(laenge*1.15)
rt(90)
fd(spitze/2.0)
lt(120)
fd(spitze)
lt(120)
fd(spitze)
lt(120)
fd(spitze/2.0)
def make_hand_shape(name, laenge, spitze):
reset()
jump(-laenge*0.15)
begin_poly()
hand(laenge, spitze)
end_poly()
hand_form = get_poly()
register_shape(name, hand_form)
def clockface(radius):
reset()
pensize(7)
for i in range(60):
jump(radius)
if i % 5 == 0:
fd(25)
jump(-radius-25)
else:
dot(3)
jump(-radius)
rt(6)
def setup():
global second_hand, minute_hand, hour_hand, writer
mode("logo")
make_hand_shape("second_hand", 125, 25)
make_hand_shape("minute_hand", 130, 25)
make_hand_shape("hour_hand", 90, 25)
clockface(160)
second_hand = Turtle()
second_hand.shape("second_hand")
second_hand.color("gray20", "gray80")
minute_hand = Turtle()
minute_hand.shape("minute_hand")
minute_hand.color("blue1", "red1")
hour_hand = Turtle()
hour_hand.shape("hour_hand")
hour_hand.color("blue3", "red3")
for hand in second_hand, minute_hand, hour_hand:
hand.resizemode("user")
hand.shapesize(1, 1, 3)
hand.speed(0)
ht()
writer = Turtle()
#writer.mode("logo")
writer.ht()
writer.pu()
writer.bk(85)
def wochentag(t):
wochentag = ["Monday", "Tuesday", "Wednesday",
"Thursday", "Friday", "Saturday", "Sunday"]
return wochentag[t.weekday()]
def datum(z):
monat = ["Jan.", "Feb.", "Mar.", "Apr.", "May", "June",
"July", "Aug.", "Sep.", "Oct.", "Nov.", "Dec."]
j = z.year
m = monat[z.month - 1]
t = z.day
return "%s %d %d" % (m, t, j)
def tick():
t = datetime.today()
sekunde = t.second + t.microsecond*0.000001
minute = t.minute + sekunde/60.0
stunde = t.hour + minute/60.0
try:
tracer(False) # Terminator can occur here
writer.clear()
writer.home()
writer.forward(65)
writer.write(wochentag(t),
align="center", font=("Courier", 14, "bold"))
writer.back(150)
writer.write(datum(t),
align="center", font=("Courier", 14, "bold"))
writer.forward(85)
second_hand.setheading(6*sekunde) # or here
minute_hand.setheading(6*minute)
hour_hand.setheading(30*stunde)
tracer(True)
ontimer(tick, 100)
except Terminator:
pass # turtledemo user pressed STOP
def main():
tracer(False)
setup()
tracer(True)
tick()
return "EVENTLOOP"
if __name__ == "__main__":
mode("logo")
msg = main()
print(msg)
mainloop()
```
## Фото часов
<img src="./15clock.PNG" alt="Описание" width="500" height="300" align="center">

@ -0,0 +1,3 @@
strk=' А роза упала на лапу азора '
print(type(strk))
print(strk[::-1])

@ -0,0 +1,24 @@
import keyword
familia = "Ogarkov"
print(familia)
first = "O"
print(first)
sp_kw = keyword.kwlist
print(sp_kw)
sp_kw.remove("nonlocal")
print(sp_kw)
kort_nam = ("Ilya","Egor","Dima","Sasha")
print(kort_nam)
print(type(kort_nam))
kort_nam1 = ("Ivan","Zahar")
kort_nam = kort_nam +kort_nam1
print(kort_nam)
print(kort_nam.count("Dima"))
dict_bas = {"Список":[1,2,4], "Множество":{1,2,3,4},"Словарь":{"key":"value"}}
print(dict_bas)

@ -0,0 +1,232 @@
# Отчет по теме 2
Выполнил Огарков Илья, А-03-23
## 1. Начало работы
Создание текстового файла report.md
## 2. Изучение простых объектов
```python
f1=16;f2=3
f1;f2
16
3
del fl
dir()
['__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'f1', 'f2']
type(f2)
<class 'int'>
del f1,f2
dir()
['__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__']
```
## 3. Изучение правил именований объектов Python
```python
ggl =1.6
hh1='Строка'
73sr=3
SyntaxError: invalid decimal literal
and=7
SyntaxError: invalid syntax
```
## 4.
```python
import keyword
keyword.kwlist
['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', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
list_keyword=keyword.kwlist
list_keyword
['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', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
```
## 5.
```python
round(2.124516361,2)
2.12
list_1 = [1,2,4]
list_2=["one","two","four"]
print(dict(zip(list_1,list_2)))
{1: 'one', 2: 'two', 4: 'four'}
```
## 6.
```python
Ggl=45
ggl;Ggl
1.6
45
```
## 7. Изучение базовых типов объектов(bool,int,float,complex,str)
## 7.1
```python
bb1=True; bb2=False
bb1;bb2
True
False
type(bb1)
<class 'bool'>
```
## 7.2
```python
ii1=-1234567890
ff1=-8.9876e-12
dv1=0b1101010
vsm1=0o52765
shest1=0x7109af6
cc1=2-3j
a=3.67; b=-0.45
cc2=complex(a,b)
cc2
(3.67-0.45j)
```
## 7.3
```python
sslb = "Меня зовут:\nОгарков И.А."
print(sslb)
Меня зовут:
Огарков И.А.
print(mnogo)
Нетрудно заметить , что в результате операции
над числами разных типов получается число,
имеющее более сложный тип из тех, которые участвуют в операции.
```
## 7.4
```python
ss1[0]
'Э'
ss1[8]
'р'
ss1[-2]
'о'
ss1[6:9]
'стр'
ss1[13:]
'символов'
ss1[:13]
'Это - строка '
ss1[5:-8]
' строка '
ss1[:2]
'Эт'
ss1[3:17:2]
' тоасм'
ss1[17:3:-2]
'омсаот '
ss1=ss1[:4]+"="+ss1[5:]
```
## 8. Изучение более сложных объектов
## 8.1
```python
spis1=[111,'Spisok',5-9j]
stup=[0,0,1,1,1,1,1,1,1]
spis1[-1]
(5-9j)
stup[-8::2]
[0, 1, 1, 1]
spis1[1]='Список'
len(spis1)
3
help(spis1.append)
Help on built-in function append:
append(object, /) method of builtins.list instance
Append object to the end of the list.
spis1.append('New item')
spis1+['New item']
[111, 'Список', (5-9j), 'New item', 'New item']
spis1.pop(1)
'Список'
spis2=[spis1,[4,5,6,7]
]
spis2[0][1]
(5-9j)
spis2[0][1]=78
spis1
[111, 78, 'New item']
list_object = [[1,2,3],["ssadd","dada","fff"],True,0.456]
list_object
[[1, 2, 3], ['ssadd', 'dada', 'fff'], True, 0.456]
```
## 8.2
```python
kort1= kort1+(sslb,)
kort2=kort1[:2]+kort1[3:]
kort1;kort2
(222, 'Kortezh', (77+8j), 1, 2, 'Меня зовут:\n Огарков И.А.')
(222, 'Kortezh', 1, 2, 'Меня зовут:\n Огарков И.А.')
kort1.index(2)
4
kort1.count(222)
1
kort1[2]=90
Traceback (most recent call last):
File "<pyshell#117>", line 1, in <module>
kort1[2]=90
TypeError: 'tuple' object does not support item assignment
tuple_object = ((1,2,3),("ssadd","dada","fff"),True,0.456)
tuple_object
((1, 2, 3), ('ssadd', 'dada', 'fff'), True, 0.456)
```
## 8.3
```python
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',sslb)])
dic5=dict(zip(['A','B','C','Stroka'],[16,-3,9,sslb]))
kort_object = (1,2,3,4,5,6,7)
list_object = ["one","two","three","four","five"]
print(dict(zip(kort_object,list_object)))
{1: 'one', 2: 'two', 3: 'three', 4: 'four', 5: 'five'}
print(len(dict(zip(kort_object,list_object))))
5
AVTI={'Курс I':[22,23,17,24,30,29,28,25,23,0,4,31,30,33,18,12,27],'Курс II':[18,16,12,15,29,18,21,23,13,0,4,20,31,26,16,], 'Курс III':[17,12,0,6,17,15,19,19,0,0,5,17,22,18,12], 'Курс IV':[27,16,0,13,17,15,19,20,0,0,2,15,18,16,17]}
AVTI['Курс III'][5]
15
```
## 8.4
```python
mnoz1={'двигатель','датчик','линия связи','датчик','микропроцессор','двигатель'}
mnoz1
{'двигатель', 'микропроцессор', 'датчик', 'линия связи'}
len(mnoz1)
4
'датчик' in mnoz1
True
mnoz1.add('реле')
mnoz1.remove('линия связи')
set_object = {1,"1",True,1.0}
len(set_object)
2
set_object
{1, '1'}
```

@ -0,0 +1,21 @@
```python
import keyword
familia = "Ogarkov"
print(familia)
first = "O"
print(first)
sp_kw = keyword.kwlist
print(sp_kw)
sp_kw.remove("nonlocal")
print(sp_kw)
kort_nam = ("Ilya","Egor","Dima","Sasha")
print(kort_nam)
print(type(kort_nam))
kort_nam1 = ("Ivan","Zahar")
kort_nam = kort_nam +kort_nam1
print(kort_nam)
print(kort_nam.count("Dima"))
dict_bas = {"Список":[1,2,4], "Множество":{1,2,3,4},"Словарь":{"key":"value"}}
print(dict_bas)
```

@ -0,0 +1,5 @@
```python
strk=' А роза упала на лапу азора '
print(type(strk))
print(strk[::-1])
```

@ -0,0 +1,18 @@
a = int('45',8)
print(a)
D = {"усиление":23, "запаздывание":12, "постоянная времени":78}
D1 = [list(D.keys()),list(D.values())]
D1 = D1[0]+D1[1]
print(tuple(D1))
result1 = ((1768 // 24.8) % 3) ** 2.4
print(result1)
result2 = ((~(13 & 27)) ^ 14) << 2
print(result2)
my_list = ['колебат'] * 4
concatenated = my_list[1] + my_list[2]
print(concatenated)
print(dir(D),D.keys(),D.values(),sep="\n")
s = "Создать объект - символьную строку с текстом данного предложения. Из символьной строки создать список, элементами которого будут отдельные слова из созданной строки. Заменить в списке элемент «-» на «,». Удалить из списка элемент со значением «данного». Отобразить получившийся список."
s = s.replace("данного","").replace("-",",").split(" ")
print(s)

@ -0,0 +1,416 @@
# Отчёт по теме 3. Операция с объектами
Выполнил Огарков Илья, А-03-23
## 1. Начало работы
Создание текстового файла ```report.md```
## 2. Преобразование простых базовых типов объектов
**2.1. Преобразование в логический тип с помощью функции bool(<Объект>)**
```python
logiz1=bool(56)
logiz2=bool(0)
logiz3=bool("Beta")
logiz4=bool("")
logiz1,logiz2,logiz3,logiz4
(True, False, True, False)
```
**2.2. Преобразование в целое десятичное число объекта с заданной системой счисления**
```python
tt1=int(198.6)
tt1
198
tt2=int("-76")
tt2
-76
tt3=int("B",16);tt3
11
tt4=int("71",8);tt4
57
tt5=int("98.76");tt5
```
### Преобразование целых чисел или строк символов в вещественное число
```python
flt1=float(789);flt1
789.0
flt2=float(-6.78e2)
flt2
-678.0
flt3=float("Infinity");flt3
inf
flt4=float("-inf");flt4
-inf
```
**2.3. Преобразование десятичных чисел в другие системы счисления**
```python
hh=123
dv1=bin(hh);dv1
'0b1111011'
vos1=oct(hh);vos1
'0o173'
shs1=hex(hh);shs1
'0x7b'
int(dv1,2)
123
int(vos1,8)
123
int(shs1,16)
123
```
## 3. Изучение преобразования более сложных базовых типов объектов
**3.1. Преобразование в строку символов с помощью функции str**
```python
strk1=str(23.6)
strk2=str(logiz3);strk2
'True'
strk3=str(["A","B","C"]);strk3
"['A', 'B', 'C']"
strk4=str(("A","B","C"));strk4
"('A', 'B', 'C')"
strk5=str({"A":1,"B":2,"C":9});strk5
"{'A': 1, 'B': 2, 'C': 9}"
```
**3.2. Преобразование элементов объекта в список с помощью функции list**
```python
spis1=list("Строка символов");spis1
['С', 'т', 'р', 'о', 'к', 'а', ' ', 'с', 'и', 'м', 'в', 'о', 'л', 'о', 'в']
spis2=list((124,236,-15,908));spis2
[124, 236, -15, 908]
spis3=list({"A":1,"B":2,"C":9});spis3
['A', 'B', 'C']
spis3_values = list({"A":1,"B":2,"C":9}.values());spis3_values
[1, 2, 9]
```
**3.3. Преобразование элементов объектов в кортеж с помощью функции tuple**
```python
kort7=tuple('Строка символов');kort7
('С', 'т', 'р', 'о', 'к', 'а', ' ', 'с', 'и', 'м', 'в', 'о', 'л', 'о', 'в')
kort8=tuple(spis2);kort8
(124, 236, -15, 908)
kort9=tuple({"A":1,"B":2,"C":9});kort9
('A', 'B', 'C')
```
**3.4. Удаление объектов**
```python
del strk5, kort8
strk5;kort8
Traceback (most recent call last):
File "<pyshell#43>", line 1, in <module>
strk5;kort8
NameError: name 'strk5' is not defined. Did you mean: 'strk1'?
familiya = "Ogarkov IA"
familiya = list(familiya);familiya
['O', 'g', 'a', 'r', 'k', 'o', 'v', ' ', 'I', 'A']
familiya = tuple(familiya);familiya
('O', 'g', 'a', 'r', 'k', 'o', 'v', ' ', 'I', 'A')
familiya = str(familiya);familiya
"('O', 'g', 'a', 'r', 'k', 'o', 'v', ' ', 'I', 'A')"
```
## 4. Арифметические операции
**4.1. Сложение и вычитание (+ и -)**
```python
12+7+90
109
5.689e-1 - 0.456
0.11289999999999994
23.6+54
77.6
14-56.7+89
46.3
```
**4.2. Умножение (*)**
```python
-6.7*12
-80.4
```
**4.3. Деление**
```python
-234.5/6
-39.083333333333336
a=178/45;a
3.9555555555555557
```
**4.4. Деление с округлением вниз**
```python
b = 178//45
b
3
c=-24.6//12.1;c
-3.0
```
**4.5. Получение остатка от деления (%)**
```python
148%33
16
12.6%3.8
1.2000000000000002
```
**4.6. Возведение в степень (**)**
```python
14**3
2744
e=2.7**3.6;e
35.719843790663525
```
## 5. Операции с двоичными представлениями целых чисел
**5.1. Двоичная инверсия (~)**
```python
dv1=9
dv2=~dv1;dv2
-10
bin(dv2);bin(dv1)
'-0b1010'
'0b1001'
```
**5.2. Двоичное «И» (&)**
```python
bin(7&9)
'0b1'
bin(7&8)
'0b0'
```
**5.3. Двоичное «ИЛИ» (|)**
```python
bin(7|9 )
'0b1111'
bin(7|8)
'0b1111'
bin(14|5)
'0b1111'
```
**5.4. Двоичное «исключающее ИЛИ»(^)**
```python
bin(14^5)
'0b1011'
14^5
11
```
**5.5. Сдвиг двоичного представления на заданное число разрядов влево (<<) или вправо (>>) с дополнением нулями, соответственно справа или слева**
```python
h=14
g=h<<2
g1=h>>1
g2=h>>2
bin(g2)
'0b11'
bin(h)
'0b1110'
bin(g)
'0b111000'
bin(g1)
'0b111'
# Число A: 1011001 (7 знаков) = 89 в десятичной
a = 0b1011001
# Число B: 11011010 (8 знаков) = 218 в десятичной
b = 0b11011010
print(f"a = {a} (binary: {bin(a)})")
print(f"b = {b} (binary: {bin(b)})")
```
## 6. Операции при работе с последовательностями (строками, списками, кортежами)
**6.1. Объединение последовательностей (конкатенация)(+)**
```python
'Система '+'регулирования'
'Система регулирования'
['abc','de','fg']+['hi','jkl']
['abc', 'de', 'fg', 'hi', 'jkl']
('abc','de','fg')+('hi','jkl')
('abc', 'de', 'fg', 'hi', 'jkl')
```
**6.2. Повторение (*)**
```python
'ля-'*5
'ля-ля-ля-ля-ля-'
['ку','-']*3
['ку', '-', 'ку', '-', 'ку', '-']
('кис','-')*4
('кис', '-', 'кис', '-', 'кис', '-', 'кис', '-')
signal1=[0]*3+[1]*99
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,)*3+(1,)*5+(0,)*7
signal2
(0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0)
```
**6.3. Проверка наличия заданного элемента в последовательности (in)**
```python
stroka='Система автоматического управления'
'автомат' in stroka
True
'ку' in ['ку','-']*3
True
'ля-' in ('abc', 'de', 'fg', 'hi', 'jkl')
False
```
**6.4. Подстановка значений в строку с помощью оператора «%»**
```python
stroka='Температура = %g %s %g'
stroka % (16,' меньше ',25); stroka
'Температура = 16 меньше 25'
stroka='Температура = %(zn1)g %(sravn)s %(zn2)g'
stroka % {'zn1':16,'sravn':' меньше ','zn2':25}
'Температура = 16 меньше 25'
```
## 7. Оператор присваивания
**7.1. Обычное присваивание значения переменной (=)**
```python
zz=12
zz
12
```
**7.2. Увеличение значения переменной на заданную величину (+=) или уменьшение (-=)**
```python
zz=12
zz
12
zz+=5;zz
17
zz-=3;zz
14
stroka='Система'
stroka+=' регулирования';stroka
'Система регулирования'
```
**7.3. Умножение текущего значения переменной на заданную величину (*=) или деление (/=)**
```python
zz/=2;zz
7.0
zz*=5;zz
35.0
```
**7.5. Множественное присваивание**
```python
w;v
10
10
n1,n2,n3=(11,-3,'all');n1;n2;n3
11
-3
'all'
n1,n2,n3="Str"
n1;n2;n3
'S'
't'
'r'
n1,n2,n3=[1,2,3];n1;n2;n3
1
2
3
n1,n2,n3={1:"one",2:"two",3:"three"};n1;n2;n3
1
2
3
n1,n2,n3 = (1,2,3);n1;n2;n3
1
2
3
```
## 8. Логические операции – при создании логических выражений, дающих в результате вычисления значения True или False
**8.1. Операции сравнение**
```python
w>v
False
```
**8.2. Проверка наличия заданного элемента в последовательности или во множестве, а также проверка наличия ключа в словаре (in)**
```python
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. Создание больших логических выражений с использованием соединительных слов: логическое «И» (and), логическое «ИЛИ» (or), логическое «НЕ» (not)**
```python
a=17
b=-6
(a>=b) and ('book' in mnoz1) and not ('Pskov' in dic1)
True
```
**8.4. Проверка ссылок переменных на один и тот же объект (is)**
```python
w=v=10
w is v
True
w1=['A','B']
v1=['A','B']
w1 is v1
False
w1,v1=['A','B'] ;w1 is v1
False
```
## 9. Операции с объектами, выполняемые с помощью методов
```python
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']
```
**9.1. Методы для работы со строками**
```python
stroka.find('пр')
5
stroka.count("с")
4
stroka.replace(' у',' автоматического у')
'Микропроцессорная система автоматического управления'
spis22=stroka.split(' ')
spis22
['Микропроцессорная', 'система', 'управления']
stroka.upper()
'МИКРОПРОЦЕССОРНАЯ СИСТЕМА УПРАВЛЕНИЯ'
stroka3=" ".join(spis22)
stroka3
'Микропроцессорная система управления'
stroka3.partition("с")
('Микропроце', 'с', 'сорная система управления')
stroka3.rpartition("с")
('Микропроцессорная си', 'с', 'тема управления')
strk1='Момент времени {}, значение = {}'
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. Методы для работы со списками**
```python
spsk = [1,2,3,4,5]
spsk.pop(2)
3
spsk
[1, 2, 4, 5]
spsk.append('c')
spsk
[1, 2, 4, 5, 'c']
spsk.insert(2,'a')
spsk
[1, 2, 'a', 4, 5, 'c']
spsk.count('a')
1
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']
```

@ -0,0 +1,415 @@
# Отчёт по теме 3. Операция с объектами
Выполнил Огарков Илья, А-03-23
## 1. Начало работы
Создание текстового файла report.md
## 2. Преобразование простых базовых типов объектов
2.1 Преобразование в логический тип с помощью функции bool(<Объект>).
logiz1=bool(56)
logiz2=bool(0)
logiz3=bool("Beta")
logiz4=bool("")
logiz1,logiz2,logiz3,logiz4
(True, False, True, False)
2.2 Преобразование в целое десятичное число объекта с заданной системой счисления
tt1=int(198.6)
tt1
198
tt2=int("-76")
tt2
-76
tt3=int("B",16);tt3
11
tt4=int("71",8);tt4
57
tt5=int("98.76");tt5
Преобразование целых чисел или строк символов в вещественное число
flt1=float(789);flt1
789.0
flt2=float(-6.78e2)
flt2
-678.0
flt3=float("Infinity");flt3
inf
flt4=float("-inf");flt4
-inf
2.3 Преобразование десятичных чисел в другие системы счисления
hh=123
dv1=bin(hh);dv1
'0b1111011'
vos1=oct(hh);vos1
'0o173'
shs1=hex(hh);shs1
'0x7b'
int(dv1,2)
123
int(vos1,8)
123
int(shs1,16)
123
## 3. Изучение преобразования более сложных базовых типов объектов
3.1 Преобразование в строку символов с помощью функции str
strk1=str(23.6)
strk2=str(logiz3);strk2
'True'
strk3=str(["A","B","C"]);strk3
"['A', 'B', 'C']"
strk4=str(("A","B","C"));strk4
"('A', 'B', 'C')"
strk5=str({"A":1,"B":2,"C":9});strk5
"{'A': 1, 'B': 2, 'C': 9}"
3.2. Преобразование элементов объекта в список с помощью функции list
spis1=list("Строка символов");spis1
['С', 'т', 'р', 'о', 'к', 'а', ' ', 'с', 'и', 'м', 'в', 'о', 'л', 'о', 'в']
spis2=list((124,236,-15,908));spis2
[124, 236, -15, 908]
spis3=list({"A":1,"B":2,"C":9});spis3
['A', 'B', 'C']
spis3_values = list({"A":1,"B":2,"C":9}.values());spis3_values
[1, 2, 9]
3.3. Преобразование элементов объектов в кортеж с помощью функции tuple
kort7=tuple('Строка символов');kort7
('С', 'т', 'р', 'о', 'к', 'а', ' ', 'с', 'и', 'м', 'в', 'о', 'л', 'о', 'в')
kort8=tuple(spis2);kort8
(124, 236, -15, 908)
kort9=tuple({"A":1,"B":2,"C":9});kort9
('A', 'B', 'C')
3.4. Удаление объектов
del strk5, kort8
strk5;kort8
Traceback (most recent call last):
File "<pyshell#43>", line 1, in <module>
strk5;kort8
NameError: name 'strk5' is not defined. Did you mean: 'strk1'?
familiya = "Ogarkov IA"
familiya = list(familiya);familiya
['O', 'g', 'a', 'r', 'k', 'o', 'v', ' ', 'I', 'A']
familiya = tuple(familiya);familiya
('O', 'g', 'a', 'r', 'k', 'o', 'v', ' ', 'I', 'A')
familiya = str(familiya);familiya
"('O', 'g', 'a', 'r', 'k', 'o', 'v', ' ', 'I', 'A')"
## 4. Арифметические операции
4.1. Сложение и вычитание (+ и -)
12+7+90
109
5.689e-1 - 0.456
0.11289999999999994
23.6+54
77.6
14-56.7+89
46.3
4.2. Умножение (*)
-6.7*12
-80.4
4.3. Деление
-234.5/6
-39.083333333333336
a=178/45;a
3.9555555555555557
4.4. Деление с округлением вниз
b = 178//45
b
3
c=-24.6//12.1;c
-3.0
4.5. Получение остатка от деления (%)
148%33
16
12.6%3.8
1.2000000000000002
4.6. Возведение в степень (**)
14**3
2744
e=2.7**3.6;e
35.719843790663525
## 5. Операции с двоичными представлениями целых чисел
5.1. Двоичная инверсия (~)
dv1=9
dv2=~dv1;dv2
-10
bin(dv2);bin(dv1)
'-0b1010'
'0b1001'
5.2. Двоичное «И» (&)
bin(7&9)
'0b1'
bin(7&8)
'0b0'
5.3. Двоичное «ИЛИ» (|)
bin(7|9 )
'0b1111'
bin(7|8)
'0b1111'
bin(14|5)
'0b1111'
5.4. Двоичное «исключающее ИЛИ»(^)
bin(14^5)
'0b1011'
14^5
11
5.5. Сдвиг двоичного представления на заданное число разрядов влево (<<) или вправо (>>) с дополнением нулями, соответственно справа или слева.
h=14
g=h<<2
g1=h>>1
g2=h>>2
bin(g2)
'0b11'
bin(h)
'0b1110'
bin(g)
'0b111000'
bin(g1)
'0b111'
# Число A: 1011001 (7 знаков) = 89 в десятичной
a = 0b1011001
# Число B: 11011010 (8 знаков) = 218 в десятичной
b = 0b11011010
print(f"a = {a} (binary: {bin(a)})")
print(f"b = {b} (binary: {bin(b)})")
## 6. Операции при работе с последовательностями (строками, списками, кортежами)
6.1. Объединение последовательностей (конкатенация)(+)
'Система '+'регулирования'
'Система регулирования'
['abc','de','fg']+['hi','jkl']
['abc', 'de', 'fg', 'hi', 'jkl']
('abc','de','fg')+('hi','jkl')
('abc', 'de', 'fg', 'hi', 'jkl')
6.2. Повторение (*)
'ля-'*5
'ля-ля-ля-ля-ля-'
['ку','-']*3
['ку', '-', 'ку', '-', 'ку', '-']
('кис','-')*4
('кис', '-', 'кис', '-', 'кис', '-', 'кис', '-')
signal1=[0]*3+[1]*99
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,)*3+(1,)*5+(0,)*7
signal2
(0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0)
6.3. Проверка наличия заданного элемента в последовательности (in)
stroka='Система автоматического управления'
'автомат' in stroka
True
'ку' in ['ку','-']*3
True
'ля-' in ('abc', 'de', 'fg', 'hi', 'jkl')
False
6.4. Подстановка значений в строку с помощью оператора «%»
stroka='Температура = %g %s %g'
stroka % (16,' меньше ',25); stroka
'Температура = 16 меньше 25'
stroka='Температура = %(zn1)g %(sravn)s %(zn2)g'
stroka % {'zn1':16,'sravn':' меньше ','zn2':25}
'Температура = 16 меньше 25'
## 7. Оператор присваивания
7.1. Обычное присваивание значения переменной (=)
zz=12
zz
12
7.2. Увеличение значения переменной на заданную величину (+=) или уменьшение (-=)
zz=12
zz
12
zz+=5;zz
17
zz-=3;zz
14
stroka='Система'
stroka+=' регулирования';stroka
'Система регулирования'
7.3. Умножение текущего значения переменной на заданную величину (*=) или деление (/=)
zz/=2;zz
7.0
zz*=5;zz
35.0
7.5. Множественное присваивание
w;v
10
10
n1,n2,n3=(11,-3,'all');n1;n2;n3
11
-3
'all'
n1,n2,n3="Str"
n1;n2;n3
'S'
't'
'r'
n1,n2,n3=[1,2,3];n1;n2;n3
1
2
3
n1,n2,n3={1:"one",2:"two",3:"three"};n1;n2;n3
1
2
3
n1,n2,n3 = (1,2,3);n1;n2;n3
1
2
3
## 8. Логические операции – при создании логических выражений, дающих в результате вычисления значения True или False
8.1. Операции сравнение
w>v
False
8.2. Проверка наличия заданного элемента в последовательности или во множестве, а также проверка наличия ключа в словаре (in)
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. Создание больших логических выражений с использованием соединительных слов: логическое «И» (and), логическое «ИЛИ» (or), логическое «НЕ» (not)
a=17
b=-6
(a>=b) and ('book' in mnoz1) and not ('Pskov' in dic1)
True
8.4. Проверка ссылок переменных на один и тот же объект (is)
w=v=10
w is v
True
w1=['A','B']
v1=['A','B']
w1 is v1
False
w1,v1=['A','B'] ;w1 is v1
False
## 9. Операции с объектами, выполняемые с помощью методов
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']
9.1. Методы для работы со строками
stroka.find('пр')
5
stroka.count("с")
4
stroka.replace(' у',' автоматического у')
'Микропроцессорная система автоматического управления'
spis22=stroka.split(' ')
spis22
['Микропроцессорная', 'система', 'управления']
stroka.upper()
'МИКРОПРОЦЕССОРНАЯ СИСТЕМА УПРАВЛЕНИЯ'
stroka3=" ".join(spis22)
stroka3
'Микропроцессорная система управления'
stroka3.partition("с")
('Микропроце', 'с', 'сорная система управления')
stroka3.rpartition("с")
('Микропроцессорная си', 'с', 'тема управления')
strk1='Момент времени {}, значение = {}'
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. Методы для работы со списками
spsk = [1,2,3,4,5]
spsk.pop(2)
3
spsk
[1, 2, 4, 5]
spsk.append('c')
spsk
[1, 2, 4, 5, 'c']
spsk.insert(2,'a')
spsk
[1, 2, 'a', 4, 5, 'c']
spsk.count('a')
1
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']

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

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

После

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

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

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

После

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

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

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

После

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

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

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

После

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

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

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

После

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

@ -0,0 +1,26 @@
import math
import cmath
import time
import random
import string
phase = cmath.phase(0.2+0.8j)
rnd = round(phase,2)
rnd_ = rnd*20
corteg = (math.floor(rnd_/3),rnd_%3)
print(corteg)
c1 = time.time()
s = time.asctime().split()
hours_minutes = s[3]
hours_minutes = hours_minutes [:-3]
print(hours_minutes)
list_dninedeli = ["Пн", "Вт", "Ср","Чт","Пт", "Сб","Вс"]
print(random.sample(list_dninedeli,3))
choice = list(range(14,33,3))
unif = random.choice(choice)
print(unif)
N = round(random.gauss(15,4))
N = max(1, N)
letters = random.choices(string.ascii_letters, k=N)
print(letters)
c2 = time.time() - c1
print(f"Прошло меньше {math.ceil(c2)} минуты")

@ -0,0 +1,255 @@
# Отчёт по теме 4. Операция с объектами
Выполнил Огарков Илья, А-03-23
## 1. Начало работы
Создание текстового файла `report.md`
## 2. Стандартные функции
**2.1. Функция round – округление числа с заданной точностью**
```python
round(123.456,1)
123.5
round(123.456,0)
123.0
```
**2.2. Функция range – создание последовательности целых чисел с заданным шагом или, по умолчанию, с шагом 1.**
```python
gg=range(76,123,9);gg
range(76, 123, 9)
list(gg)
[76, 85, 94, 103, 112, 121]
list(range(23))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22]
```
**2.3. ункция zip – создание общего объекта, элементами которого являются кортежи, составленные из элементов двух или более объектов-последовательностей (zip – застежка-«молния»)**
```python
qq = ["Ogarkov", "Butko", "Efimova", "Baranov"]
ff=zip(gg,qq);ff
<zip object at 0x0000021A399B9A00>
tuple(ff)
((76, 'Ogarkov'), (85, 'Butko'), (94, 'Efimova'), (103, 'Baranov'))
```
**2.4. Функция eval – вычисление значения выражения, корректно записанного на языке Python и представленного в виде символьной строки**
```python
fff=float(input('коэффициент усиления=')); dan=eval('5*fff-156')
коэффициент усиления=4
dan
-136.0
```
**2.5. Похожая на eval функция exec – чтение и выполнение объекта-аргумента функции**
```python
exec(input('введите инструкции:'))
введите инструкции:perem=-123.456;gg=round(abs(perem)+98,3)
gg
221.456
```
**2.6. Самостоятельно изучите и попробуйте применить функции abs, pow, max, min, sum, divmod, len, map**
```python
abs(-7+4)
3
pow(2,3)
8
max(2,3)
3
min(2,3)
2
li_st = [1,2,3,4,5]
sum(li_st)
15
divmod(8,3)
(2, 2)
words = ["apple","orange","limon"]
length = map(len, words);length
<map object at 0x0000021A3C28AD10>
list(length)
[5, 6, 5]
```
## 3. Функции из стандартного модуля math – совокупность разнообразных математических функций
```python
import math
help(math.factorial)
Help on built-in function factorial in module math:
factorial(n, /)
Find n!.
Raise a ValueError if x is negative or non-integral.
math.factorial(5)
120
math.sin(30)
-0.9880316240928618
math.acos(1)
0.0
math.degrees(120)
6875.493541569878
math.degrees(1)
57.29577951308232
math.radians(180)
3.141592653589793
math.exp(2)
7.38905609893065
math.log(10)
2.302585092994046
math.log(2)
0.6931471805599453
log10(10)
math.log10(10)
1.0
math.sqrt(10)
3.1622776601683795
math.ceil(10.2)
11
math.floor(10.2)
10
math.pi
3.141592653589793
```
## 4. Функции из модуля cmath – совокупность функций для работы с комплексными числами
```python
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 – совокупность функций для выполнения операций с псевдослучайными числами и выборками
```python
import random
help(random.seed)
Help on method seed in module random:
seed(a=None, version=2) method of random.Random instance
Initialize internal state from a seed.
The only supported seed types are None, int, float,
str, bytes, and bytearray.
None or no argument seeds from current time or from an operating
system specific randomness source if available.
If *a* is an int, all bits are used.
For version 2 (the default), all of the bits are used if *a* is a str,
bytes, or bytearray. For version 1 (provided for reproducing random
sequences from older versions of Python), the algorithm for str and
bytes generates a narrower range of seeds.
dir(random)
['BPF', 'LOG4', 'NV_MAGICCONST', 'RECIP_BPF', 'Random', 'SG_MAGICCONST', 'SystemRandom', 'TWOPI', '_ONE', '_Sequence', '_Set', '__all__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', '_accumulate', '_acos', '_bisect', '_ceil', '_cos', '_e', '_exp', '_floor', '_index', '_inst', '_isfinite', '_log', '_os', '_pi', '_random', '_repeat', '_sha512', '_sin', '_sqrt', '_test', '_test_generator', '_urandom', '_warn', 'betavariate', 'choice', 'choices', 'expovariate', 'gammavariate', 'gauss', 'getrandbits', 'getstate', 'lognormvariate', 'normalvariate', 'paretovariate', 'randbytes', 'randint', 'random', 'randrange', 'sample', 'seed', 'setstate', 'shuffle', 'triangular', 'uniform', 'vonmisesvariate', 'weibullvariate']
random.seed(5)
random.random()
0.7417869892607294
random.gauss(170,5)
171.01449055876262
random.gauss(170,5)
175.5048579816218
numbers = [1,3,5,3,8,9]
random.choice(numbers)
3
random.shuffle(numbers);numbers
[8, 3, 9, 3, 5, 1]
random.sample(numbers, 3)
[5, 8, 3]
random.betavariate(1,100)
0.00014457630861401468
random.gammavariate(1,100)
248.10585250290603
```
## 6. Функции из модуля time – работа с календарем и со временем
```python
<module 'time' (built-in)>
c1=time.time();c1
1759135155.9747162
c2=time.time()-c1
c2
21.171961307525635
dat=time.gmtime();dat
time.struct_time(tm_year=2025, tm_mon=9, tm_mday=29, tm_hour=8, tm_min=40, tm_sec=13, tm_wday=0, tm_yday=272, tm_isdst=0)
dat.tm_mon
9
dat.tm_mday
29
time.localtime
<built-in function localtime>
tm=time.localtime();tm
time.struct_time(tm_year=2025, tm_mon=9, tm_mday=29, tm_hour=11, tm_min=42, tm_sec=48, tm_wday=0, tm_yday=272, tm_isdst=0)
time.ctime()
'Mon Sep 29 11:44:13 2025'
time.asctime()
'Mon Sep 29 11:44:25 2025'
time.localtime(c1)
time.struct_time(tm_year=2025, tm_mon=9, tm_mday=29, tm_hour=11, tm_min=39, tm_sec=15, tm_wday=0, tm_yday=272, tm_isdst=0)
```
## 7. Графические функции
```python
import pylab
Matplotlib is building the font cache; this may take a moment.
x=list(range(-3,55,4))
t=list(range(15))
pylab.plot(t,x)
[<matplotlib.lines.Line2D object at 0x0000021A451EB250>]
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 0x0000021A46656C50>]
pylab.plot(X2)
[<matplotlib.lines.Line2D object at 0x0000021A46657390>]
pylab.show()
region=['Центр','Урал','Сибирь','Юг']
naselen=[65,12,23,17]
pylab.pie(naselen,labels=region)
([<matplotlib.patches.Wedge object at 0x0000021A46675650>, <matplotlib.patches.Wedge object at 0x0000021A4A8989D0>, <matplotlib.patches.Wedge object at 0x0000021A4A899ED0>, <matplotlib.patches.Wedge object at 0x0000021A4A89B4D0>], [Text(-0.191013134139045, 1.0832885038559115, 'Центр'), Text(-0.861328292412156, -0.6841882582231001, 'Урал'), Text(0.04429273995539947, -1.0991078896938387, 'Сибирь'), Text(0.9873750693480946, -0.48486129194837324, 'Юг')])
pylab.show()
pylab.plot(t,x)
[<matplotlib.lines.Line2D object at 0x0000021A4A8D6C90>]
pylab.title('Первый график')
Text(0.5, 1.0, 'Первый график')
pylab.xlabel('время')
Text(0.5, 0, 'время')
pylab.ylabel('сигнал')
Text(0, 0.5, 'сигнал')
pylab.show()
pylab.plot(X1)
[<matplotlib.lines.Line2D object at 0x0000021A4A8A8CD0>]
pylab.plot(X2)
[<matplotlib.lines.Line2D object at 0x0000021A4A9173D0>]
pylab.show()
region=['Центр','Урал','Сибирь','Юг']
naselen=[65,12,23,17]
pylab.pie(naselen,labels=region)
([<matplotlib.patches.Wedge object at 0x0000021A467F10D0>, <matplotlib.patches.Wedge object at 0x0000021A467C6550>, <matplotlib.patches.Wedge object at 0x0000021A467F3410>, <matplotlib.patches.Wedge object at 0x0000021A46800A50>], [Text(-0.191013134139045, 1.0832885038559115, 'Центр'), Text(-0.861328292412156, -0.6841882582231001, 'Урал'), Text(0.04429273995539947, -1.0991078896938387, 'Сибирь'), Text(0.9873750693480946, -0.48486129194837324, 'Юг')])
pylab.show()
naselen=[65,12,23,17]
pylab.hist(naselen)
(array([2., 0., 1., 0., 0., 0., 0., 0., 0., 1.]), array([12. , 17.3, 22.6, 27.9, 33.2, 38.5, 43.8, 49.1, 54.4, 59.7, 65. ]), <BarContainer object of 10 artists>)
pylab.show()
pylab.bar(naselen, 3)
<BarContainer object of 4 artists>
pylab.show()
```
## 8. Статистический модуль statistics
```python
import statistics
numbers = [1,2,3,4,5,6,7,8,9]
statistics.mean(numbers)
5
statistics.median(numbers)
5
statistics.mod(numbers)
statistics.mode(numbers)
1
```

@ -0,0 +1,9 @@
import time
import math
import cmath
dat = time.localtime()
print(f"Текущая дата: {dat.tm_mday}-{dat.tm_mon}-{dat.tm_year}")
hz = 5-2j
exec(input('Введите функцию: '))

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

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

После

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

@ -0,0 +1,24 @@
my_string = list(input("Введите строку: ").lower())
alphabet = [chr(i) for i in range(ord('a'), ord('z') + 1)]
numbers = [number for number in range(1,27)]
dictionary_1 = dict(zip(alphabet,numbers))
number_in_alphabet = [dictionary_1.get(my_string[number]) for number in range(len(my_string))]
print(dict(zip(my_string, number_in_alphabet)))
string_2 = "Создайте список со словами из задания данного пункта. Для этого списка – определите, есть ли в нем некоторое заданное значение, и выведите соответствующее сообщение: либо о нахождении элемента, либо о его отсутствии в списке (проверить как с имеющимся, так и с отсутствующим словом).".replace(".","").replace("","").replace("(","").replace(")","")\
.replace(",","").replace(":","").split()
print("yes" if str(input("Введите слово: ")) in string_2 else "no")
list_students_summer = ["Butko", "Ogarkov", "Efimova"]
list_marks_summer = [4, 3, 4]
list_students_winter = ["Ogarkov", "Efimova", "Butko"]
list_marks_winter = [5, 4, 3]
string_3 = input("Введите фамилию: ").strip()
if string_3 in list_students_summer and string_3 in list_students_winter:
summer_index = list_students_summer.index(string_3)
winter_index = list_students_winter.index(string_3)
average_mark = (list_marks_summer[summer_index] + list_marks_winter[winter_index]) / 2
print(f"Средний балл {string_3}: {average_mark}")

@ -0,0 +1,217 @@
# Отчёт по теме 5. Блоки инструкций, управляющие инструкции
Выполнил Огарков Илья, А-03-23
## 1. Начало работы
Создание текстового файла `report.md`
## 2. Изучение ветвление по условию – управляющая инструкция if
```python
porog=10
rashod1=2
rashod2 = 36
if rashod1>=porog:
dohod=12
elif rashod2==porog:
dohod=0
else:
dohod=-8
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. Простой цикл**
```python
temperatura=5
for i in range(3,18,3):
temperatura+=i
temperatura
50
```
**3.2. Более сложный цикл**
```python
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]
```
**3.3. Пример: создание списка с 10 целыми случайными числами из диапазона от 1 до 100**
```python
import random as rn //Теперь вместо полного имени random можно использовать короткое rn
sps5=[]
for i in range(10):
sps5.append(rn.randint(1,100))
ss=sum(sps5)
if ss>500: break
else:
print(ss)
492
len(sps5)
10
sps5
[79, 50, 29, 74, 92, 24, 56, 32, 8, 48]
```
**3.4. Пример с символьной строкой**
```python
stroka='Это – автоматизированная система'
stroka1=""
for ss in stroka:
stroka1+=" "+ss
stroka
'Это – автоматизированная система'
stroka1
' Э т о – а в т о м а т и з и р о в а н н а я с и с т е м а'
```
**3.5. Запись цикла в строке. Пример: создание списка с синусоидальным сигналом**
```python
import math
sps2=[math.sin(i*math.pi/5+2) for i in range(100)]
sps2
[0.9092974268256817, 0.49103209793281005, -0.11479080280322804, -0.6767675184643197, -0.9802420445539634, -0.9092974268256817, -0.49103209793281016, 0.11479080280322791, 0.6767675184643196, 0.9802420445539634, 0.9092974268256818, 0.4910320979328103, -0.1147908028032278, -0.6767675184643196, -0.9802420445539632, -0.9092974268256818, -0.4910320979328104, 0.11479080280322768, 0.6767675184643195, 0.9802420445539632, 0.9092974268256819, 0.4910320979328105, -0.11479080280322579, -0.6767675184643194, -0.9802420445539632, -0.9092974268256819, -0.4910320979328106, 0.11479080280322743, 0.6767675184643193, 0.9802420445539632, 0.909297426825682, 0.49103209793281066, -0.1147908028032273, -0.6767675184643192, -0.9802420445539632, -0.909297426825682, -0.4910320979328108, 0.11479080280322719, 0.6767675184643192, 0.9802420445539631, 0.9092974268256822, 0.491032097932814, -0.11479080280322707, -0.676767518464319, -0.9802420445539625, -0.9092974268256822, -0.491032097932811, 0.11479080280323047, 0.6767675184643189, 0.9802420445539625, 0.9092974268256822, 0.4910320979328142, -0.11479080280322682, -0.6767675184643215, -0.9802420445539631, -0.9092974268256808, -0.4910320979328112, 0.11479080280322317, 0.6767675184643187, 0.9802420445539624, 0.9092974268256823, 0.4910320979328082, -0.11479080280322658, -0.6767675184643213, -0.980242044553963, -0.9092974268256838, -0.49103209793281144, 0.11479080280322293, 0.6767675184643186, 0.9802420445539637, 0.9092974268256824, 0.49103209793280844, -0.11479080280322633, -0.6767675184643158, -0.980242044553963, -0.9092974268256839, -0.49103209793281166, 0.11479080280322974, 0.6767675184643184, 0.9802420445539637, 0.9092974268256825, 0.4910320979328149, -0.11479080280321903, -0.6767675184643209, -0.9802420445539629, -0.909297426825681, -0.4910320979328119, 0.11479080280322244, 0.6767675184643129, 0.9802420445539636, 0.9092974268256826, 0.49103209793281505, -0.11479080280322584, -0.6767675184643155, -0.9802420445539644, -0.9092974268256812, -0.49103209793281205, 0.1147908028032222, 0.6767675184643127, 0.980242044553965]
```
## 4. Цикл «пока истинно условие» – управляющая инструкция while
**4.1. Цикл со счетчиком**
```python
rashod=300
while rashod:
print("Расход=",rashod)
rashod-=50
Расход= 300
Расход= 250
Расход= 200
Расход= 150
Расход= 100
Расход= 50
```
**4.2. Пример с символьной строкой**
```python
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
import matplotlib.pyplot as plt
plt.figure(figsize=(10, 6))
<Figure size 1000x600 with 0 Axes>
plt.plot(sps2, 'b-', linewidth=2, marker='o', markersize=4)
[<matplotlib.lines.Line2D object at 0x000001E053D365D0>]
plt.title('Сигнал на выходе инерционного звена', fontsize=14)
Text(0.5, 1.0, 'Сигнал на выходе инерционного звена')
plt.xlabel('Время (моменты i)', fontsize=12)
Text(0.5, 0, 'Время (моменты i)')
plt.ylabel('Значение сигнала', fontsize=12)
Text(0, 0.5, 'Значение сигнала')
plt.grid(True)
plt.show()
```
**4.3. Определение, является ли число простым (делится только на самого себя или 1)**
```python
chislo=267
kandidat =chislo // 2
while kandidat > 1:
if chislo%kandidat == 0:
print(chislo, ' имеет множитель ', kandidat)
break
kandidat -= 1
else:
print(chislo, ' является простым!')
267 имеет множитель 89
count = 0
b = []
for i in range(251, 301,2):
for j in range(1,i+1):
if i%j==0:
count += 1
if count == 2:
b.append(i)
count = 0
print(f"Все простые числа в диапазоне от 250 до 300: {b}")
```

@ -0,0 +1 @@
запись строки в файл

@ -0,0 +1,47 @@
import random
import os
import pickle
list_corteg = []
for _ in range(125):
random_number = random.randint(6, 56)
list_corteg.append(str(random_number))
corteg_1 = tuple(list_corteg)
print(corteg_1)
print('-'*10)
corteg_1_1 = tuple(str(random.randint(6,56)) for _ in range(125))
print(corteg_1_1)
print('-'*10)
list_families_2 = ['Ogarkov', 'Efimova', 'Butko', 'Antonov']
print(list_families_2)
print('-'*10)
fp = open('control_corteg.2ob', 'wb')
pickle.dump(corteg_1, fp)
pickle.dump(list_families_2, fp)
fp.close()
fp = open('control_corteg.2ob', 'rb')
obj_5_1 = pickle.load(fp)
obj_5_2 = pickle.load(fp)
fp.close()
print(obj_5_1, obj_5_2, sep = '\n')
print('-'*10)
print('yes' if obj_5_1 == corteg_1 else 'no')
print('yes' if obj_5_2 == list_families_2 else 'no')
print('-'*10)
groups = []
for i in range(0, len(obj_5_1), 5):
group = list(obj_5_1[i:i+5])
groups.append(group)
print(f" Группа {len(groups)}: {group}")

Двоичные данные
TEMA6/control_corteg.2ob

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

@ -0,0 +1,252 @@
# Отчёт по теме 6. Ввод-вывод данных и операции с файлами
Выполнил Огарков Илья, А-03-23
## 1. Начало работы
Создание текстового файла `report.md`
## 2. Вывод данных на экран дисплея
**2.1. Вывод в командной строке**
```python
stroka='Автоматизированная система управления'
stroka
'Автоматизированная система управления'
```
**2.2. Вывод с использованием функции print**
```python
stroka='Автоматизированная система управления'
stroka
'Автоматизированная система управления'
fff=234.5;gg='Значение температуры = '
print(gg,fff, sep="/")
Значение температуры = /234.5
print(gg, fff,sep='/',end='***'); print('____')
Значение температуры = /234.5***____
print(""" Здесь может выводиться
большой текст,
занимающий несколько строк""")
Здесь может выводиться
большой текст,
занимающий несколько строк
print("Здесь может выводиться",
"большой текст,",
"занимающий несколько строк")
Здесь может выводиться большой текст, занимающий несколько строк
```
**2.3. Вывод с использованием метода write объекта sys.stdout**
```python
import sys
sys.stdout.write('Функция write')//это файловый объект, который представляет стандартный вывод программы; функция write выводит количесто символов
Функция write13
sys.stdout.write('Функция write\n')
Функция write
14//количество символов увеличилось на +1, так как /n - это тоже отдельныйы символ
```
## 3. Ввод данных с клавиатуры
```python
psw=input('Введите пароль:')
Введите пароль:1234
psw;type(psw)
'1234'
<class 'str'>
while True:
znach=float(input('Задайте коэф.усиления = '))
if znach<17.5 or znach>23.8:
print('Ошибка!')
else:
break
Задайте коэф.усиления = 15.4
Ошибка!
Задайте коэф.усиления = 21.6
import math
print(eval(input('введите выражение для расчета = ')))
введите выражение для расчета = math.log10(23/(1+math.exp(-3.24)))
1.34504378689765
```
## 4. Ввод-вывод при работе с файлами.
**4.1. Функции для работы с путем к файлу**
```python
import os
os.getcwd() //функция показывает, какой рабочий каталог установлен в текущий момент времени(cwd = current working directory)
'C:\\Program Files\\Python311'
Ogarkov = os.getcwd();print(Ogarkov)
C:\Program Files\Python311
os.chdir('d:\\users\\tmp5\\') \\изменение расположения рабочего каталога
os.mkdir("C:\\Users\\Ilya\\Desktop\\mkdir") \\создание новой директории
os.rmdir("C:\\Users\\Ilya\\Desktop\\mkdir") \\удаляет пустую директорию. Если в директории есть файлы или другие папки - возникает ошибка
os.listdir("C:\\Users\\Ilya\\Desktop") \\возвращает список имён всех файлов и папок в указанной директории
['1.py', 'Adobe Photoshop 2025.lnk', 'AIDA64.lnk', 'bar', 'Cisco Secure Client.lnk', 'desktop.ini', 'Google Chrome.lnk', 'Labs', 'MSI Afterburner.lnk', 'Nexus', 'OBS Studio.lnk', 'python-labs', 'qBittorrent.lnk', 'Remote Desktop Connection.lnk', 'Telegram.lnk', 'Visual Studio Code.lnk', 'Wub', 'Yandex.lnk', 'ВАЖНОЕ_СЕРВЕР.txt', 'Документы огарков А.С', 'Золотой фонд цитат.txt', 'КМ1ОгарковИльяА-03-23.docx', 'Новая папка', 'Покер', 'Расписание.txt', 'РКН ФИКС', 'ТАУ', 'Фото']
import os.path
os.path.isdir("C:\\Users\\Ilya\\Desktop\\ТАУ") \\проверяет, является ли указанный путь директорией, возвращает True, если путь существует и является директорией
True
os.path.abspath("LICENSE.txt")
'C:\\Users\\Ilya\\AppData\\Local\\Programs\\Python\\Python313\\LICENSE.txt'
drkt = os.path.dirname(fil);drkt \\функция os.path.dirname(fil) возвращает директорию (папку) из указанного пути, убирая последний компонент (обычно имя файла)
'C:\\Users\\Ilya\\AppData\\Local\\Programs\\Python\\Python313'
os.path.basename(Ogarkov) \\возвращает последний компонент пути - обычно это имя файла или конечной папки
'Python313'
os.path.split(Ogarkov) \\разделяет путь на две части: директорию и имя файла/папки. Возвращает кортеж (head, tail)
('C:\\Users\\Ilya\\AppData\\Local\\Programs\\Python', 'Python313')
os.path.exists(Ogarkov) \\проверяет существование пути
True
os.path.exists("C:\\Users\\Ilya\\AppData\\Local\\Programs\\Python\\mkdir")
os.path.isfile(fil) \\проверяет наличие файла в рабочем каталоге
True
```
**4.3. Открытие файла для записи или чтения данных – функция open.**
```python
os.chdir('C:\\Users\\Ilya\\Desktop\\python-labs\\TEMA6')
fp=open(file='zapis1.txt',mode='w')
type(fp);dir(fp)
<class '_io.TextIOWrapper'>
['_CHUNK_SIZE', '__class__', '__del__', '__delattr__', '__dict__', '__dir__', '__doc__', '__enter__', '__eq__', '__exit__', '__format__', '__ge__', '__getattribute__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__next__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '_checkClosed', '_checkReadable', '_checkSeekable', '_checkWritable', '_finalizing', 'buffer', 'close', 'closed', 'detach', 'encoding', 'errors', 'fileno', 'flush', 'isatty', 'line_buffering', 'mode', 'name', 'newlines', 'read', 'readable', 'readline', 'readlines', 'reconfigure', 'seek', 'seekable', 'tell', 'truncate', 'writable', 'write', 'write_through', 'writelines']
fp1=open('zapis2.bin',mode='wb+')
```
**4.4. Закрытие файла**
```python
fp.close();fp1.close()
```
**4.5. Запись информации в файл с помощью метода write**
```python
sps = list(range(1,13))
fp2=open('zapis3.txt','w')
fp2.write(str(sps[:4])+'\n')
13
fp2.write(str(sps[4:8])+'\n')
13
fp2.write(str(sps[8:])+'\n')
16
fp2.close()
for i in range(len(sps3)):
stroka4=sps3[i][0]+' '+str(sps3[i][1])
fp3.write(stroka4)
11
11
12
fp3.close()
gh = open('zapis5.txt','w')
for r in sps3:
gh.write(r[0]+' '+str(r[1])+'\n')
12
12
13
gh.close()
```
**4.6. Первый способ чтения информации из текстового файла**
```python
fp = open('zapis3.txt')
for stroka in fp:
stroka=stroka.rstrip('\n')
stroka=stroka.replace('[','')
stroka=stroka.replace(']','')
sps1=sps1+stroka.split(',')
fp.close()
sps1
['1', ' 2', ' 3', ' 4', '5', ' 6', ' 7', ' 8', '9', ' 10', ' 11', ' 12']
```
**4.7. Чтение информации из файла с помощью метода read**
```python
fp = open('zapis3.txt')
stroka1 = fp.read(12); stroka1 \\число показывает количество читаемых символов в txt или количество бит в бит файле
'[1, 2, 3, 4]'
stroka2 = fp.read()
stroka2
'\n[5, 6, 7, 8]\n[9, 10, 11, 12]\n'
fp.close()
```
**4.8. Чтение информации с помощью методов readline и readlines**
```python
fp = open('zapis3.txt', 'r')
fp.readline() \\функция читает одну строку
'[1, 2, 3, 4]\n'
fp.close()
fp = open('zapis3.txt', 'r')
fp.readlines() \\функция читает все строки
['[1, 2, 3, 4]\n', '[5, 6, 7, 8]\n', '[9, 10, 11, 12]\n']
fp.close()
```
**4.9. Ввод-вывод объектов с использованием функций из модуля pickle**
```python
import pickle \\это модуль в Python для сериализации и десериализации объектов. Он преобразует объекты Python в поток байтов (сериализация) и обратно (десериализация)
mnoz1={'pen','book','pen','iPhone','table','book'}
fp = open('zapis6.mnz','wb')
pickle.dump(mnoz1, fp) \\функция dump принимает объект и сериализует в поток байтов
fp.close()
fp = open('zapis6.mnz', 'rb')
mnoz2 = pickle.load(fp); mnoz2 \\load – метод чтения объекта из бинарного файла
{'pen', 'iPhone', 'book', 'table'}
fp.close()
fp = open('zapis7.2ob', 'wb')
pickle.dump(mnoz1, fp)
sps3=[['Иванов И.',1],['Петров П.',2],['Сидоров С.',3]]
pickle.dump(sps3,fp)
fp.close()
fp = open('zapis7.2ob', 'rb')
obj1 = pickle.load(fp); obj1
{'pen', 'iPhone', 'book', 'table'}
obj2 = pickle.load(fp); obj2
[['Иванов И.', 1], ['Петров П.', 2], ['Сидоров С.', 3]]
sps3
[['Иванов И.', 1], ['Петров П.', 2], ['Сидоров С.', 3]]
fp.close()
```
## 5. Перенаправление потоков ввода и вывода данных
```python
import sysм \\это импорт встроенного модуля sys, который предоставляет доступ к системным параметрам и функциям, связанным с интерпретатором Python
vr_out = sys.stdout
fc = open('Stroka.txt', 'w')
sys.stdout = fc
print('запись строки в файл')
sys.stdout = vr_out
print('запись строки на экран')
запись строки на экран
fc.close()
tmp_in = sys.stdin
fd = open("Stroka.txt", "r")
sys.stdin = fd
sys.stdin
<_io.TextIOWrapper name='Stroka.txt' mode='r' encoding='cp1251'>
while True:
try:
line = input()
print(line)
except EOFError:
break
запись строки в файл
fd.close()
sys.stdin = tmp_in
```

@ -0,0 +1,3 @@
[1, 2, 3, 4]
[5, 6, 7, 8]
[9, 10, 11, 12]

@ -0,0 +1 @@
Иванов И. 1Петров П. 2Сидоров С. 3

@ -0,0 +1,3 @@
Иванов И. 1
Петров П. 2
Сидоров С. 3

Двоичные данные
TEMA6/zapis6.mnz

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

Двоичные данные
TEMA6/zapis7.2ob

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

@ -0,0 +1,12 @@
a=int(input())//scsds
#yagdada
s ="1,2,3,4,5,6"
print(type(s),dir(s))
print(list(s))
number_3 = list(s)[4]
print(number_3)
s = s.replace(',','')
s = list(s)
s[2] = '777'
print(s)
print(int(s[1])+int(s[4]))

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

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

Двоичный файл не отображается.
Загрузка…
Отмена
Сохранить