Сравнить коммиты
61 Коммитов
| Автор | SHA1 | Дата |
|---|---|---|
|
|
f19dbed3ff | 2 недель назад |
|
|
87380b6999 | 2 недель назад |
|
|
6b2cb84080 | 2 недель назад |
|
|
259aba976e | 2 недель назад |
|
|
2a42be9657 | 2 недель назад |
|
|
bebe611a8c | 2 недель назад |
|
|
4f4bd5ee01 | 2 недель назад |
|
|
b870c67abc | 2 недель назад |
|
|
c2ee0a0458 | 3 недель назад |
|
|
7224f35d19 | 3 недель назад |
|
|
b3f2969eb2 | 3 недель назад |
|
|
c2316e0e2a | 3 недель назад |
|
|
0d5050d798 | 3 недель назад |
|
|
cd689860a1 | 3 недель назад |
|
|
e783818f23 | 3 недель назад |
|
|
ffb3f70758 | 3 недель назад |
|
|
ba21b92ec3 | 3 недель назад |
|
|
cbe6799393 | 4 недель назад |
|
|
c3592429de | 4 недель назад |
|
|
cbfdb903fa | 4 недель назад |
|
|
b2321e5dfb | 4 недель назад |
|
|
31e4e86e6a | 4 недель назад |
|
|
0bad0e334e | 4 недель назад |
|
|
94d217bb39 | 4 недель назад |
|
|
1c8311a03a | 4 недель назад |
|
|
79bb61ef37 | 4 недель назад |
|
|
3e0d53cf1f | 4 недель назад |
|
|
e0b0fc701f | 4 недель назад |
|
|
67b4674dba | 4 недель назад |
|
|
6305187125 | 4 недель назад |
|
|
1f54b95608 | 4 недель назад |
|
|
87a8410e8c | 4 недель назад |
|
|
5dfe49b2b1 | 4 недель назад |
|
|
7d850b0937 | 2 месяцев назад |
|
|
a47c996fee | 2 месяцев назад |
|
|
95defa2ae1 | 2 месяцев назад |
|
|
bf89e9e4ff | 2 месяцев назад |
|
|
fdadb0a022 | 2 месяцев назад |
|
|
3b6a8d1333 | 2 месяцев назад |
|
|
d2e8d36bd7 | 2 месяцев назад |
|
|
01776079c5 | 2 месяцев назад |
|
|
002c25ce29 | 2 месяцев назад |
|
|
b26245adfe | 2 месяцев назад |
|
|
a95f86a0e3 | 2 месяцев назад |
|
|
61fdabbe1e | 2 месяцев назад |
|
|
07e7c318e3 | 2 месяцев назад |
|
|
dad824563e | 2 месяцев назад |
|
|
fdee7ea3fa | 2 месяцев назад |
|
|
d8ad2ee63d | 2 месяцев назад |
|
|
0dd95c510c | 2 месяцев назад |
|
|
39df1c0c05 | 2 месяцев назад |
|
|
be6fafa3c6 | 2 месяцев назад |
|
|
afd259242a | 2 месяцев назад |
|
|
f2b7f04301 | 2 месяцев назад |
|
|
a7e43cac6b | 2 месяцев назад |
|
|
9c7d796f23 | 2 месяцев назад |
|
|
63d57fa30a | 2 месяцев назад |
|
|
03be55f96c | 2 месяцев назад |
|
|
c26f4219f8 | 2 месяцев назад |
|
|
ce3be3507b | 2 месяцев назад |
|
|
502c4c5a49 | 2 месяцев назад |
@ -0,0 +1,4 @@
|
||||
# Протокол по Теме 1 Огарков Илья Александрович
|
||||
import os
|
||||
os.chdir('\\Users\\u111-05\\Desktop\\python-labs\\TEMA1')
|
||||
import prb1
|
||||
|
После Ширина: | Высота: | Размер: 49 KiB |
|
После Ширина: | Высота: | Размер: 10 KiB |
|
После Ширина: | Высота: | Размер: 32 KiB |
@ -1,2 +1,5 @@
|
||||
name = input("Как Вас зовут? ")
|
||||
print("Привет,", name)
|
||||
#Программа по Теме 1 Огарков Илья Александрович
|
||||
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']
|
||||
|
После Ширина: | Высота: | Размер: 7.6 KiB |
|
После Ширина: | Высота: | Размер: 9.9 KiB |
|
После Ширина: | Высота: | Размер: 20 KiB |
|
После Ширина: | Высота: | Размер: 26 KiB |
|
После Ширина: | Высота: | Размер: 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('Введите функцию: '))
|
||||
|
После Ширина: | Высота: | Размер: 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}")
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -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
|
||||
@ -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]))
|
||||