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

...

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

Автор SHA1 Сообщение Дата
Pavel 5807e44533 test: добавлен
19 часов назад
Pavel c42b799874 task: добавлен
20 часов назад
Pavel 48341847ef task: добавлен
20 часов назад
Pavel fa4da65935 task: добавлен
5 дней назад
Pavel eadd86e0a9 report: добавлен
5 дней назад
Pavel 233fb4c34d test: добавлен
2 недель назад
Pavel db51049f5a report: добавлен
2 недель назад
Pavel cc2f18df80 test: добавлен
4 недель назад
Pavel dfa7a601bf report: добавлен
4 недель назад
Pavel 45a6d388c2 report: добавлен
4 недель назад
Pavel 54b94e726d report: добавлен
4 недель назад
Pavel 8ba60d242e task: добавлен
4 недель назад
Pavel cfe0ed8556 report: добавлен
4 недель назад
Pavel 50780de001 report: добавлен
4 недель назад
Pavel 0464627b18 report: добавлен
1 месяц назад

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

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

После

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

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

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

После

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

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

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

После

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

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

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

После

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

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

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

После

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

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

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

После

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

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

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

После

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

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

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

После

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

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

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

После

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

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

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

После

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

@ -0,0 +1,6 @@
#Программа по Теме 1 Анисенков Павел Дмитриевич
print('Hello')
h=input('Your name=')
import os
os.chdir('C:\\Users\\Professional\\Desktop\\python-labs\\TEMA1\\')

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

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

После

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

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

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

После

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

@ -0,0 +1,64 @@
#Протокол по Теме 1 Анисенков Павел Дмитриевич
Python 3.13.6 (tags/v3.13.6:4e66535, Aug 6 2025, 14:36:00) [MSC v.1944 64 bit (AMD64)] on win32
Enter "help" below or click "Help" above for more information.
import os
os.chdir('C:\\Users\\Professional\\Desktop\\python-labs\\TEMA1\\')
============================================================ RESTART: C:/Users/Professional/Desktop/python-labs/TEMA1/Pr0.py ===========================================================
Hello
Your name=Paulik
import Pr0
Hello
Your name=Paulik
============================================================ RESTART: C:/Users/Professional/Desktop/python-labs/TEMA1/Pr0.py ===========================================================
Hello
Your name=Paulik
import prb1
Как Вас зовут? Paulik
Привет, Paulik
help(print)
Help on built-in function print in module builtins:
print(*args, sep=' ', end='\n', file=None, flush=False)
Prints the values to a stream, or to sys.stdout by default.
sep
string inserted between values, default a space.
end
string appended after the last value, default a newline.
file
a file-like object (stream); defaults to the current sys.stdout.
flush
whether to forcibly flush the stream.
help(print); help(input)
Help on built-in function print in module builtins:
print(*args, sep=' ', end='\n', file=None, flush=False)
Prints the values to a stream, or to sys.stdout by default.
sep
string inserted between values, default a space.
end
string appended after the last value, default a newline.
file
a file-like object (stream); defaults to the current sys.stdout.
flush
whether to forcibly flush the stream.
Help on built-in function input in module builtins:
input(prompt='', /)
Read a string from standard input. The trailing newline is stripped.
The prompt string, if given, is printed to standard output without a
trailing newline before reading input.
If the user hits EOF (*nix: Ctrl-D, Windows: Ctrl-Z+Return), raise EOFError.
On *nix systems, readline is used if available.
import tdemo_chaos

@ -0,0 +1,135 @@
# Отчет по теме 1
Анисенков Павел, А-01-23
## 1-2. Запуск
Была запущена программа-интерпретатор:
![](ZAPUSK.png)
## 3-5. Диалоговое окно
Были введены несколько инструкций в диалоговое окно интерпретатора:
```py
print('hello')
hello
h=input('Your name=')
Your name=paulik
exit() - закрывает интерпретатор
```
## 6-7. Интерактивная графическая оболочка
![](OBOLOCHKA.png)
было изучено устройство главного командного окна среды.
## 8. Настройка рабочего каталога.
```py
import os
os.chdir('C:\\Users\\Professional\\Desktop\\python-labs\\TEMA1\\')
```
## 9. Персонализация среды.
![](IIIPIFT.png)
![](COLOR.png)
![](SIZE.png)
## 10. Окно редактора
Воспользовались окном редактора для написания кода, результат:
============================================================ RESTART: C:/Users/Professional/Desktop/python-labs/TEMA1/Pr0.py ===========================================================
Hello
Your name=Paulik
### Были использованы следующие методы запуска инструкций:
1) Меню редактора: Run module
2) Кнопка F5
3) Команда import Pr0
## 11. Запуск prb1
import prb1
Как Вас зовут? Paulik
Привет, Paulik
## 12-13. Просмотр pycache
![](PROT.png)
Открыли каталог __pycache__ и попытались открыть в текстовом редакторе файл Pr0.cpython-34.pyc – результат работы компилятора среды.
![](ERROR.PNG)
.pyc - это не текстовые файлы: .pyc файлы содержат скомпилированный байт-код, а не читаемый текст. Поэтому IDLE, как текстовый редактор, не может правильно интерпретировать содержимое .pyc файла как текст.
Компиляция — это процесс перевода исходного кода на языке программирования в машинный код. Если этого не сделать, компьютер не поймёт, как выполнить инструкции разработчика. Поэтому мы отдаём компилятору строки кода, а он сравнивает их со своим словарём, учитывает контекст и выдаёт набор из нулей и единиц.
## 14. Вызов раздела помощи
help(print)
Help on built-in function print in module builtins:
print(*args, sep=' ', end='\n', file=None, flush=False)
Prints the values to a stream, or to sys.stdout by default.
sep
string inserted between values, default a space.
end
string appended after the last value, default a newline.
file
a file-like object (stream); defaults to the current sys.stdout.
flush
whether to forcibly flush the stream.
help(print); help(input)
Help on built-in function print in module builtins:
print(*args, sep=' ', end='\n', file=None, flush=False)
Prints the values to a stream, or to sys.stdout by default.
sep
string inserted between values, default a space.
end
string appended after the last value, default a newline.
file
a file-like object (stream); defaults to the current sys.stdout.
flush
whether to forcibly flush the stream.
Help on built-in function input in module builtins:
input(prompt='', /)
Read a string from standard input. The trailing newline is stripped.
The prompt string, if given, is printed to standard output without a
trailing newline before reading input.
If the user hits EOF (*nix: Ctrl-D, Windows: Ctrl-Z+Return), raise EOFError.
On *nix systems, readline is used if available.
Также были рассмотрены другие способы получения раздела помощи.
F1 -- index:
![](HELPPRINT.png)
### 15.1 Открыт prb1.py
Как Вас зовут? Paulik
Привет, Paulik
### 15.2 Перемещение между окнами и запуск программы из окна редактора
![](4MIMIMAMOMU.png)
### 15.3 Была запущена программа tdemo_chaos
![](CHAOuS.png)
### 15.4 Рассмотрение примеров использования графической составляющией среды Python
зашли в предложение «Помощь (Help)» и «Демонстрации (Turtle Demo)». В появившемся новом окне в меню выберали предложение «Примеры (Examples)» и из появляющегося списка примеров – «Часы (Clock)». Нажмали кнопку «Запуск (Start)» в нижней части окна.
![](5orclock.png)
Данные примеры способны помочь в плане структуризации собственного кода и изучении новых команд.
## 16. Выход из среды

@ -0,0 +1,17 @@
## 4. Можно ли писать несколько инструкций в одной строке командного окна?
### Ответ
1) Да, можно. Применяется разделение точкой с запятой ;
```py
x = 5; y = 10; print(x + y)
```
2) Так же это можно осуществить с помощью if else
```py
if x > 0: print("Paulik")
```
3) Множественное присваивание
```py
a, b, c = 1, 2, 3 # три присваивания в одной строке
```
При этом снижается читаемость кода

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

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

После

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

@ -0,0 +1,287 @@
#Протокол по Теме 2 Анисенков Павел Дмитриевич
import os
os.chdir('C:\\Users\\Professional\\Desktop\\python-labs\\Tema2')
f1=16; f2=3
f1,f2
(16, 3)
dir(f1)
['__abs__', '__add__', '__and__', '__bool__', '__ceil__', '__class__', '__delattr__', '__dir__', '__divmod__', '__doc__', '__eq__', '__float__', '__floor__', '__floordiv__', '__format__', '__ge__', '__getattribute__', '__getnewargs__', '__getstate__', '__gt__', '__hash__', '__index__', '__init__', '__init_subclass__', '__int__', '__invert__', '__le__', '__lshift__', '__lt__', '__mod__', '__mul__', '__ne__', '__neg__', '__new__', '__or__', '__pos__', '__pow__', '__radd__', '__rand__', '__rdivmod__', '__reduce__', '__reduce_ex__', '__repr__', '__rfloordiv__', '__rlshift__', '__rmod__', '__rmul__', '__ror__', '__round__', '__rpow__', '__rrshift__', '__rshift__', '__rsub__', '__rtruediv__', '__rxor__', '__setattr__', '__sizeof__', '__str__', '__sub__', '__subclasshook__', '__truediv__', '__trunc__', '__xor__', 'as_integer_ratio', 'bit_count', 'bit_length', 'conjugate', 'denominator', 'from_bytes', 'imag', 'is_integer', 'numerator', 'real', 'to_bytes']
type(f2)
<class 'int'>
del f1,f2
f1,f2
Traceback (most recent call last):
File "<pyshell#8>", line 1, in <module>
f1,f2
NameError: name 'f1' is not defined
gg1=1.6
hh1='Строка'
73sr=3
SyntaxError: invalid decimal literal
and=7
SyntaxError: invalid syntax
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']
spis='['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']'
SyntaxError: invalid syntax
spis=['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']
import builtins
dir(builtins)
['ArithmeticError', 'AssertionError', 'AttributeError', 'BaseException', 'BaseExceptionGroup', 'BlockingIOError', 'BrokenPipeError', 'BufferError', 'BytesWarning', 'ChildProcessError', 'ConnectionAbortedError', 'ConnectionError', 'ConnectionRefusedError', 'ConnectionResetError', 'DeprecationWarning', 'EOFError', 'Ellipsis', 'EncodingWarning', 'EnvironmentError', 'Exception', 'ExceptionGroup', 'False', 'FileExistsError', 'FileNotFoundError', 'FloatingPointError', 'FutureWarning', 'GeneratorExit', 'IOError', 'ImportError', 'ImportWarning', 'IndentationError', 'IndexError', 'InterruptedError', 'IsADirectoryError', 'KeyError', 'KeyboardInterrupt', 'LookupError', 'MemoryError', 'ModuleNotFoundError', 'NameError', 'None', 'NotADirectoryError', 'NotImplemented', 'NotImplementedError', 'OSError', 'OverflowError', 'PendingDeprecationWarning', 'PermissionError', 'ProcessLookupError', 'PythonFinalizationError', 'RecursionError', 'ReferenceError', 'ResourceWarning', 'RuntimeError', 'RuntimeWarning', 'StopAsyncIteration', 'StopIteration', 'SyntaxError', 'SyntaxWarning', 'SystemError', 'SystemExit', 'TabError', 'TimeoutError', 'True', 'TypeError', 'UnboundLocalError', 'UnicodeDecodeError', 'UnicodeEncodeError', 'UnicodeError', 'UnicodeTranslateError', 'UnicodeWarning', 'UserWarning', 'ValueError', 'Warning', 'WindowsError', 'ZeroDivisionError', '_', '_IncompleteInputError', '__build_class__', '__debug__', '__doc__', '__import__', '__loader__', '__name__', '__package__', '__spec__', 'abs', 'aiter', 'all', 'anext', 'any', 'ascii', 'bin', 'bool', 'breakpoint', 'bytearray', 'bytes', 'callable', 'chr', 'classmethod', 'compile', 'complex', 'copyright', 'credits', 'delattr', 'dict', 'dir', 'divmod', 'enumerate', 'eval', 'exec', 'exit', 'filter', 'float', 'format', 'frozenset', 'getattr', 'globals', 'hasattr', 'hash', 'help', 'hex', 'id', 'input', 'int', 'isinstance', 'issubclass', 'iter', 'len', 'license', 'list', 'locals', 'map', 'max', 'memoryview', 'min', 'next', 'object', 'oct', 'open', 'ord', 'pow', 'print', 'property', 'quit', 'range', 'repr', 'reversed', 'round', 'set', 'setattr', 'slice', 'sorted', 'staticmethod', 'str', 'sum', 'super', 'tuple', 'type', 'vars', 'zip']
print(abs(-5))
5
print(len("Hello"))
5
print(len([1, 2, 3]))
3
print(max(1, 5, 3))
5
print(min([10, 20, 5]))
5
print(pow(5, 2))
25
print(pow(4, 0.5))
2.0
print(round(3.14159))
3
print(round(2.675, 2))
2.67
print(sorted("hello"))
['e', 'h', 'l', 'l', 'o']
2
print(sorted(numbers))
[1, 2, 3, 4]
print(sorted(numbers, reverse=True))
[4, 3, 2, 1]
names = ["Alice", "Bob"]
ages = [25, 30]
pop = zip(names, ages)
print(list(pop))
[('Alice', 25), ('Bob', 30)]
print(type(5))
<class 'int'>
print(type("hello"))
<class 'str'>
print(type([1, 2, 3]))
<class 'list'>
print(dir("hello"))
['__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']
Gg1=45
print(gg1,Gg1)
1.6 45
bb1 = True; bb2 = False
bb1,bb2
(True, False)
type(bb1)
<class 'bool'>
ii1=-1234567890
ff1=-8.9876e-12
dv1=0b1101010
vsm1-0o52765
Traceback (most recent call last):
File "<pyshell#48>", line 1, in <module>
vsm1-0o52765
NameError: name 'vsm1' is not defined
vsm1=0o52765
shest1=0x7109af6
cc1=2-3j
a=3.67;b=-0.45
cc2=complex(a,b)
ss1
Traceback (most recent call last):
File "<pyshell#54>", line 1, in <module>
ss1
NameError: name 'ss1' is not defined
ss1='Это - строка символов'
ss1a="Это - \" строка символов \", \n \t выводимая на двух строках"
ss1a
'Это - " строка символов ", \n \t выводимая на двух строках'
ss1b= 'Меня зовут: \n Анисенков П. Д.'
ыы1и
Traceback (most recent call last):
File "<pyshell#59>", line 1, in <module>
ыы1и
NameError: name 'ыы1и' is not defined
ss1b
'Меня зовут: \n Анисенков П. Д.'
print(ss1b)
Меня зовут:
Анисенков П. Д.
print(ss1a)
Это - " строка символов ",
выводимая на двух строках
mnogo="""Нетрудно заметить , что в результате операции
над числами разных типов получается число,
имеющее более сложный тип из тех, которые участвуют в операции."""
print(mnogo)
Нетрудно заметить , что в результате операции
над числами разных типов получается число,
имеющее более сложный тип из тех, которые участвуют в операции.
ss1[0]
'Э'
ss1[8]
'р'
ss1[-2]
'о'
ss1[6:9]
'стр'
ss1[13:]
'символов'
ss1[:13]
'Это - строка '
ss1[5:-8]
' строка '
ss1[3:17:2]
' тоасм'
ss1[17:3:-2]
'омсаот '
ss1[-4:3:-2]
'омсаот '
ss1[4]
'-'
ss1=ss1[:4]+'='+ss1[5:]
slice1 = ss1b[:10]
slice1
'Меня зовут'
slice2 = ss1b[12:]
slice2
'\n Анисенков П. Д.'
slice5 = ss1b[::2]
slice5
'Мн оу:\nАиеквП .'
spis1=[111,'Spisok',5-9j]
stup=[0,0,1,1,1,1,1,1,1]
spis=[1,2,3,4,
5,6,7,
8,9,10]
spis1[-1]
(5-9j)
stup[-8::2]
[0, 1, 1, 1]
spis1[1]='Список'
print(spis1)
[111, 'Список', (5-9j)]
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+['New item']
[111, 'Список', (5-9j), 'New item']
spis1+'ss1b'
Traceback (most recent call last):
File "<pyshell#95>", line 1, in <module>
spis1+'ss1b'
TypeError: can only concatenate list (not "str") to list
spis1+['ss1b']
[111, 'Список', (5-9j), 'ss1b']
spis1+ss1b
Traceback (most recent call last):
File "<pyshell#97>", line 1, in <module>
spis1+ss1b
TypeError: can only concatenate list (not "str") to list
spis1.pop(1)
'Список'
spis1
[111, (5-9j)]
spis2=[spis1,[4,5,6,7]]
spis2[0][1]
(5-9j)
spis2[0][1]=78
spis1
[111, 78]
spisk=[20,'Pavel',0.4532]
spisk+ [1,2,3,4,5],{"имя":"Павел", "возраст": 20}
([20, 'Pavel', 0.4532, 1, 2, 3, 4, 5], {'имя': 'Павел', 'возраст': 20})
kort1=(222,'Kortezh',77+8j)
kort1= kort1+(1,2)
kort1
(222, 'Kortezh', (77+8j), 1, 2)
kort1= kort1+(ss1b,)
kort1
(222, 'Kortezh', (77+8j), 1, 2, 'Меня зовут: \n Анисенков П. Д.')
kort2=kort1[:2]+kort1[3:]
kort1.index(2)
4
kort1.count(222)
1
kort1[2]=90
Traceback (most recent call last):
File "<pyshell#114>", line 1, in <module>
kort1[2]=90
TypeError: 'tuple' object does not support item assignment
my_tuple = (
42, # целое число
"Привет", # строка
[1, 2, 3], # список
(4, 5, 6) #кортеж
)
dic1={'Saratov':145, 'Orel':56, 'Vologda':45}
dic1['Orel']
56
dic1['Pskov']=78
вшс1
Traceback (most recent call last):
File "<pyshell#119>", line 1, in <module>
вшс1
NameError: name 'вшс1' is not defined
dic1
{'Saratov': 145, 'Orel': 56, 'Vologda': 45, 'Pskov': 78}
sorted(dic1.keys())
['Orel', 'Pskov', 'Saratov', 'Vologda']
sorted(dic1.values())
[45, 56, 78, 145]
dic2={1:'mean',2:'standart deviation',3:'correlation'}
dic3={'statistics':dic2,'POAS':['base','elementary','programming']}
dic3['statistics'][2]
'standart deviation'
dic4=dict([(1,['A','B','C']),(2,[4,5]),('Q','Prim'),('Stroka',ss1b)])
spska = ('яблоко', 'банан', 'апельсин', 'виноград', 'киви', 'манго', 'груша')
spysk = [10, 20, 30, 40, 50]
res = dict(zip(spska, spysk))
res
{'яблоко': 10, 'банан': 20, 'апельсин': 30, 'виноград': 40, 'киви': 50}
mnoz1={'двигатель','датчик','линия связи','датчик','микропроцессор','двигатель'}
mnoz1
{'линия связи', 'датчик', 'двигатель', 'микропроцессор'}
len(mnoz1)
4
'датчик' in mnoz1
True
mnoz1.add('реле')
mnoz1
{'линия связи', 'датчик', 'двигатель', 'реле', 'микропроцессор'}
mnoz1.remove('линия связи')
mnoz1
{'датчик', 'двигатель', 'реле', 'микропроцессор'}
set123= {
42, # целое число
3.14, # число с плавающей точкой
"Привет", # строка
(1, 2, 3), # кортеж
True, # логическое значение
"Python", # еще строка
frozenset([7, 8, 9]), # неизменяемое множество
42 # дубликат (будет удален)
}
set123.add([7, 8, 9])
Traceback (most recent call last):
File "<pyshell#140>", line 1, in <module>
set123.add([7, 8, 9])
TypeError: unhashable type: 'list'
my_set.remove("Привет")
Traceback (most recent call last):
File "<pyshell#141>", line 1, in <module>
my_set.remove("Привет")
NameError: name 'my_set' is not defined
set123.remove("Привет")
set123
{True, 3.14, 42, (1, 2, 3), 'Python', frozenset({8, 9, 7})}

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

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

После

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

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

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

После

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

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

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

После

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

@ -0,0 +1,746 @@
# Отчет по теме 2
Анисенков Павел, А-01-23
## 1. Запуск.
### 1.1 Запуск оболочки IDLE и установка рабочего каталога.
```py
import os
os.chdir('C:\\Users\\Professional\\Desktop\\python-labs\\TEMA1\\')
```
## 2. Изучение простых объектов.
### 2.1 Операции присваивания
```py
f1=16; f2=3
f1,f2
(16, 3)
f1;f2
16
3
```
### 2.2 Функционал команд dir(), type() и del:
Был получен список атрибутов объекта f1:
```py
dir(f1)
['__abs__', '__add__', '__and__', '__bool__', '__ceil__', '__class__', '__delattr__', '__dir__', '__divmod__', '__doc__', '__eq__', '__float__', '__floor__', '__floordiv__', '__format__', '__ge__', '__getattribute__', '__getnewargs__', '__getstate__', '__gt__', '__hash__', '__index__', '__init__', '__init_subclass__', '__int__', '__invert__', '__le__', '__lshift__', '__lt__', '__mod__', '__mul__', '__ne__', '__neg__', '__new__', '__or__', '__pos__', '__pow__', '__radd__', '__rand__', '__rdivmod__', '__reduce__', '__reduce_ex__', '__repr__', '__rfloordiv__', '__rlshift__', '__rmod__', '__rmul__', '__ror__', '__round__', '__rpow__', '__rrshift__', '__rshift__', '__rsub__', '__rtruediv__', '__rxor__', '__setattr__', '__sizeof__', '__str__', '__sub__', '__subclasshook__', '__truediv__', '__trunc__', '__xor__', 'as_integer_ratio', 'bit_count', 'bit_length', 'conjugate', 'denominator', 'from_bytes', 'imag', 'is_integer', 'numerator', 'real', 'to_bytes']
```
Также была определена классовая принадлежность объекта f2:
```py
type(f2)
<class 'int'>
```
Команда del отвечает за удаление объекта или его части из ОП.
```py
del f1, f2
f1, f2
Traceback (most recent call last):
File "<pyshell#9>", line 1, in <module>
f1, f2
NameError: name 'f1' is not defined
```
## 3-4. Правила именования и сохранение списка под именем:
Были изучены правила именования введены некоторые предложенные команды, две из которых не соответствовали правилам именования:
![](kylek.png)
```py
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']
```
В данном случае полученному списку было присвоено следующее имя:
```py
pisok = keyword.kwlist
pisok
['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. Встроенные идентификаторы.
### 5.1 Вывод списка встроенных идентификаторов:
```py
import builtins
dir(builtins)
['ArithmeticError', 'AssertionError', 'AttributeError', 'BaseException', 'BaseExceptionGroup', 'BlockingIOError', 'BrokenPipeError', 'BufferError', 'BytesWarning', 'ChildProcessError', 'ConnectionAbortedError', 'ConnectionError', 'ConnectionRefusedError', 'ConnectionResetError', 'DeprecationWarning', 'EOFError', 'Ellipsis', 'EncodingWarning', 'EnvironmentError', 'Exception', 'ExceptionGroup', 'False', 'FileExistsError', 'FileNotFoundError', 'FloatingPointError', 'FutureWarning', 'GeneratorExit', 'IOError', 'ImportError', 'ImportWarning', 'IndentationError', 'IndexError', 'InterruptedError', 'IsADirectoryError', 'KeyError', 'KeyboardInterrupt', 'LookupError', 'MemoryError', 'ModuleNotFoundError', 'NameError', 'None', 'NotADirectoryError', 'NotImplemented', 'NotImplementedError', 'OSError', 'OverflowError', 'PendingDeprecationWarning', 'PermissionError', 'ProcessLookupError', 'PythonFinalizationError', 'RecursionError', 'ReferenceError', 'ResourceWarning', 'RuntimeError', 'RuntimeWarning', 'StopAsyncIteration', 'StopIteration', 'SyntaxError', 'SyntaxWarning', 'SystemError', 'SystemExit', 'TabError', 'TimeoutError', 'True', 'TypeError', 'UnboundLocalError', 'UnicodeDecodeError', 'UnicodeEncodeError', 'UnicodeError', 'UnicodeTranslateError', 'UnicodeWarning', 'UserWarning', 'ValueError', 'Warning', 'WindowsError', 'ZeroDivisionError', '_', '_IncompleteInputError', '__build_class__', '__debug__', '__doc__', '__import__', '__loader__', '__name__', '__package__', '__spec__', 'abs', 'aiter', 'all', 'anext', 'any', 'ascii', 'bin', 'bool', 'breakpoint', 'bytearray', 'bytes', 'callable', 'chr', 'classmethod', 'compile', 'complex', 'copyright', 'credits', 'delattr', 'dict', 'dir', 'divmod', 'enumerate', 'eval', 'exec', 'exit', 'filter', 'float', 'format', 'frozenset', 'getattr', 'globals', 'hasattr', 'hash', 'help', 'hex', 'id', 'input', 'int', 'isinstance', 'issubclass', 'iter', 'len', 'license', 'list', 'locals', 'map', 'max', 'memoryview', 'min', 'next', 'object', 'oct', 'open', 'ord', 'pow', 'print', 'property', 'quit', 'range', 'repr', 'reversed', 'round', 'set', 'setattr', 'slice', 'sorted', 'staticmethod', 'str', 'sum', 'super', 'tuple', 'type', 'vars', 'zip']
```
### 5.2 Изучение назначения функций:
```py
print(abs(-5))
5
print(len("Hello"))
5
print(len([1, 2, 3]))
3
print(max(1, 5, 3))
5
print(min([10, 20, 5]))
5
print(pow(5, 2))
25
print(pow(4, 0.5))
2.0
print(round(3.14159))
3
print(round(2.675, 2))
2.67
print(sorted("hello"))
['e', 'h', 'l', 'l', 'o']
numbers = [3, 1, 4, 2]
print(sorted(numbers))
[1, 2, 3, 4]
print(sorted(numbers, reverse=True))
[4, 3, 2, 1]
names = ["Alice", "Bob"]
ages = [25, 30]
pop = zip(names, ages)
print(list(pop))
[('Alice', 25), ('Bob', 30)]
```
#### 5.2.1 Функция ABS:
![](abs.png)
#### 5.2.2 Функция len:
![](len.png)
#### 5.2.3 Функция max
```py
help(max)
Help on built-in function max in module builtins:
max(...)
max(iterable, *[, default=obj, key=func]) -> value
.......
With two or more positional arguments, return the largest argument.
max(numbers)
3
```
#### 5.2.4 Функция min
```py
help(min)
Help on built-in function min in module builtins:
min(...)
min(iterable, *[, default=obj, key=func]) -> value
............
With two or more positional arguments, return the smallest argument.
min(numbers)
1
```
#### 5.2.5 Функция pow
```py
help(pow)
Help on built-in function pow in module builtins:
pow(base, exp, mod=None)
...........
invoked using the three argument form.
pow(3, 2)
9
```
#### 5.2.6 Функция round
```py
help(round)
Help on built-in function round in module builtins:
round(number, ndigits=None)
Round a number to a given precision in decimal digits.
The return value is an integer if ndigits is omitted or None. Otherwise
the return value has the same type as the number. ndigits may be negative.
round(1.5)
2
```
#### 5.2.7 Функция sorted
```py
help (sorted)
Help on built-in function sorted in module builtins:
sorted(iterable, /, *, key=None, reverse=False)
Return a new list containing all items from the iterable in ascending order.
A custom key function can be supplied to customize the sort order, and the
reverse flag can be set to request the result in descending order.
num = [3, 1, 2]
sorted(num)
[1, 2, 3]
```
#### 5.2.8 Функция sum
```py
help(sum)
Help on built-in function sum in module builtins:
sum(iterable, /, start=0)
Return the sum of a 'start' value (default: 0) plus an iterable of numbers
When the iterable is empty, return the start value.
This function is intended specifically for use with numeric values and may
reject non-numeric types.
sum(num)
6
```
#### 5.2.9 Функция zip
```py
help(zip)
Help on class zip in module builtins:
class zip(object)
| zip(*iterables, strict=False)
|
| The zip object yields n-length tuples, where n is the number of iterables
| passed as positional arguments to zip(). The i-th element in every tuple
| comes from the i-th iterable argument to zip(). This continues until the
...........................................
num
[3, 1, 2]
numbers
[1, 2, 3]
j = zip(num, numbers)
j
<zip object at 0x000001E309D6DD00>
zip_list = list(j)
zip_list
[(3, 1), (1, 2), (2, 3)]
```
## 6-7. Типы объектов.
### 6. Проверка влияния больших и маленьких букв в имени переменных:
```py
Gg1=45
gg1
1.6
Gg1
45
```
### 7. Изучение базовых типов объектов:
int — целые числа (положительные, отрицательные или нуль).
float — числа с плавающей точкой (дробные числа).
complex — комплексные числа (имеют действительную и мнимую части).
str — строковый тип данных для хранения текстовой информации. Строка может содержать буквы, цифры, пробелы, символы.
bool в Python — это логический тип, принимать только два значения: True и False.
#### 7.1 Логический тип:
```py
bb1 = True
bb2 = False
bb1;bb2
True
False
type(bb1)
<class 'bool'>
```
#### 7.2 Иные простые типы:
```py
ii1=-1234567890
type(ii1)
<class 'int'>
ff1=-8.9876e-12
type(ff1)
<class 'float'>
dv1=0b1101010
type(dv1)
<class 'int'>
```
Как можем заметить - двоичное число 0b1101010 в Python сохраняется в объекте класса int.
```py
vsm1=0o52765
type(vsm1)
<class 'int'>
```
```py
shest1=0x7109af6
type(shest1)
<class 'int'>
cc1=2-3j
type(cc1)
<class 'complex'>
```
Ниже представлен иной способ создания комплексного числа:
```py
a=3.67; b=-0.45
cc2=complex(a,b)
type(cc2)
<class 'complex'>
```
#### 7.3 Строка символом:
Строки выделяются как и апострофами, так и двойными кавычками, продемонстрируем:
```py
ss1='Это - строка символов'
ss1="Это - строка символов"
```
##### Экранированные последовательности:
```py
ss1a="Это - \" строка символов \", \n \t выводимая на двух строках"
print(ss1a)
Это - " строка символов ",
выводимая на двух строках
```
Создадим строку по шаблону:
```py
ss1b= 'Меня зовут: \n Анисенков П.Д.'
print(ss1b)
Меня зовут:
Анисенков П.Д.
```
Создадим строку со значением объекта при помощи тройных кавычек:
```py
mnogo="""Нетрудно заметить , что в результате операции
над числами разных типов получается число,
имеющее более сложный тип из тех, которые участвуют в операции."""
print(mnogo)
Нетрудно заметить , что в результате операции
над числами разных типов получается число,
имеющее более сложный тип из тех, которые участвуют в операции.
```
```py
ss1[0]
'Э'
ss1[8]
'р'
ss1[-2]
'о'
ss1[0]
'Э'
ss1[8]
'р'
ss1[-2]
'о'
ss1[6:9]
'стр'
ss1[13:]
'символов'
ss1[:13]
'Это - строка '
ss1[5:-8]
' строка '
ss1[3:17:2]
' тоасм'
```
Важно заметить, что цифра '2' здесь отвечает за шаг.
Здесь, подобно примеру выше, мы перечислили элементы с индексами от 3 до 17, но в обратном порядке (с положительным шагом перечисление элементов в обратную сторону работать не будет).
```py
ss1[17:3:-2]
'омсаот '
```
Изменив '17' на '-4' мы получим тот же результат, ведь два этих индекса соответствуют одному и тому же элементу строки.
```py
ss1[-4:3:-2]
'омсаот '
```
Таким образом, мы переопределили элемент под индексом 4.
```py
ss1=ss1[:4]+'='+ss1[5:]
ss1
'Это = строка символов'
```
```py
slice1 = ss1b[:10]
slice1
'Меня зовут'
slice2 = ss1b[12:]
slice2
'\n Анисенков П. Д.'
slice5 = ss1b[::2]
slice5
'Мн оу:\nАиеквП .'
```
## 8. Списки, кортежи, словари и множества.
```py
help(list)
Help on class list in module builtins:
class list(object)
| list(iterable=(), /)
|
| Built-in mutable sequence.
|
| If no argument is given, the constructor creates a new empty list.
| The argument must be an iterable if specified.
help(tuple)
Help on class tuple in module builtins:
class tuple(object)
| tuple(iterable=(), /)
|
| Built-in immutable sequence.
|
| If no argument is given, the constructor returns an empty tuple.
| If iterable is specified the tuple is initialized from iterable's items.
|
| If the argument is a tuple, the return value is the same object.
|
| Built-in subclasses:
| asyncgen_hooks
| UnraisableHookArgs
help(dict)
Help on class dict in module builtins:
class dict(object)
| dict() -> new empty dictionary
| dict(mapping) -> new dictionary initialized from a mapping object's
| (key, value) pairs
| dict(iterable) -> new dictionary initialized as if via:
| d = {}
| for k, v in iterable:
| d[k] = v
| dict(**kwargs) -> new dictionary initialized with the name=value pairs
| in the keyword argument list. For example: dict(one=1, two=2)
help(set)
Help on class set in module builtins:
class set(object)
| set(iterable=(), /)
|
| Build an unordered collection of unique elements.
```
### 8.1 Работа со списками.
Список может содержать в себе элементы разных типов.
```py
spis1=[111,'Spisok',5-9j]
spis1
[111, 'Spisok', (5-9j)]
```
Ввод можно производить в разных строках, пока не будет введена квадратная скобка.
```py
stup=[0,0,1,1,1,1,1,1,1]
stup
[0, 0, 1, 1, 1, 1, 1, 1, 1]
spis = [1,2,3,4,
5,6,7,
8,9,10]
spis
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
```
'-8' - есть элемент под индексом 1 в исходном списке, между :: ничего нет, значит срез произойдёт до самого последнего элемента, а '2' - есть шаг пересчёта элементов.
```py
spis1[-1]
(5-9j)
stup[-8::2]
[0, 1, 1, 1]
```
```py
spis1[1]='Список'
spis1
[111, 'Список', (5-9j)]
len(spis1)
3
```
С помощью '.append' можно добавить какой-либо элемент в список, а '.pop' - удалить.
```py
spis1.append('New Item')
spis1
[111, 'Список', (5-9j), 'New Item']
spis1.append(ss1b)
spis1
[111, 'Spisok', (5-9j), 'New Item', 'Меня зовут: \n Анисенков П.Д.']
spis1.pop(1)
'Spisok'
spis1
[111, (5-9j), 'New Item', 'Меня зовут: \n Анисенков П.Д.']
```
```py
spis1.insert(1, 'TITAN') вставит второй аргумент под номер индекса элемента.
spis1
[111, 'TITAN', (5-9j), 'New Item', 'Меня зовут: \n Ефремов С.И.']
spis1.remove('TITAN') - удалит тот элемент, который полностью соответствует указанному в команде аргументу.
spis1
[111, (5-9j), 'New Item', 'Меня зовут: \n Анисенков П.Д.']
spis1.clear() - удаляет все элементы из списка.
spis1
[]
spis1
[5, 3, 2, 1, 7, 6, 9]
spis1.sort() - сортировка списка как и по числам*
spis1
[1, 2, 3, 5, 6, 7, 9]
spisbukva = ['b', 'a', 'c', 'g', 't']
spisbukva.sort() - *так и по алфавиту
spisbukva
['a', 'b', 'c', 'g', 't']
spisbukva.reverse() - перемешивает элементы в обратном порядке
spisbukva
['t', 'g', 'c', 'b', 'a']
spis1
[1, 2, 3, 5, 6, 7, 9]
spis111 = spis1.copy() - копирует список.
spis111
[1, 2, 3, 5, 6, 7, 9]
spis1
[1, 2, 3, 5, 6, 7, 9]
spis1.count(5) - считает то, сколько раз элемент из аргумента появляется в списке.
1
spis1.index(9) - возвращает индекс элемента, совпадающего по значению с аргументом.
6
```
```py
spis2=[spis1, [4,5,6,7]] - элементы переменной - два списка
spis2
[[1, 2, 3, 5, 6, 7, 9], [4, 5, 6, 7]]
spis2[0][1] - обращение ко второму элементу первого списка
2
spis2[0][1]=78 - замена значения того же элемента на другое
spis2
[[1, 78, 3, 5, 6, 7, 9], [4, 5, 6, 7]]
spis1
[1, 78, 3, 5, 6, 7, 9]
spis2 содержит не копию списка spis1, а ссылку на тот же самый объект в памяти.
В памяти создается объект-список, и spis1 указывает на него.
spis2[0] - это не копия spis1, а та же самая ссылка на тот же объект в памяти.
```
#### Был придуман список, содержащий в себе 4 элемента разных типов: число, строка, логическое значение и список.
```py
list = ['glad', 18, True, ['a','b','c','d']]
list
['glad', 18, True, ['a', 'b', 'c', 'd']]
type(list)
<class 'list'>
```
### 8.2 Кортеж.
*Похож на список, но изменить его нельзя
```py
kort1=(222,'Kortezh',77+8j)
type(kort1)
<class 'tuple'>
kort1[2] = 90
Traceback (most recent call last):
File "<pyshell#22>", line 1, in <module>
kort1[2] = 90
TypeError: 'tuple' object does not support item assignment
```
Однако можно переопределить (добавить или удалить определенные элементы).
```py
kort1= kort1+(1,2) - добавление
kort1
(222, 'Kortezh', (77+8j), 1, 2)
kort2=kort1[:2]+kort1[3:] - удаление
kort2
(222, 'Kortezh', 1, 2)
```
Определение индекса и подсчёт заданного элемента:
```py
kort1.index(2)
4
kort1
(222, 'Kortezh', (77+8j), 1, 2)
kort1.count(222)
1
my_tuple = (
42, # целое число
"Привет", # строка
[1, 2, 3], # список
(4, 5, 6) #кортеж
)
```
### 8.3 Словарь
-Является совокупностью пар типа 'key:value'
```py
dic1={'Saratov':145, 'Orel':56, 'Vologda':45}
dic1['Saratov']
145
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]
dic1
{'Saratov': 145, 'Orel': 56, 'Vologda': 45, 'Pskov': 78}
```
```py
dic2={1:'mean',2:'standart deviation',3:'correlation'}
dic3={'statistics':dic2,'POAS':['base','elementary','programming']} - элементом словаря может являться сам словарь
dic3
{'statistics': {1: 'mean', 2: 'standart deviation', 3: 'correlation'}, 'POAS': ['base', 'elementary', 'programming']}
dic3['statistics'][2]
'standart deviation'
```
```py
dic4=dict([(1,['A','B','C']),(2,[4,5]),('Q','Prim'),('Stroka',ss1b)])
dic4
{1: ['A', 'B', 'C'], 2: [4, 5], 'Q': 'Prim', 'Stroka': 'Меня зовут: Анисенков П.Д.'}
dic5=dict(zip(['A','B','C','Stroka'],[16,-3,9,ss1b]))
dic5
{'A': 16, 'B': -3, 'C': 9, 'Stroka': 'Меня зовут: Анисенков П.Д.'}
```
```py
tupl3 = ('A', 'B', 'C', 'D', 'E', 'F','G')
l1st = ['1', '2', '3', '4', '5']
dict227 = dict(zip(tupl3,l1st))
dict227
{'A': '1', 'B': '2', 'C': '3', 'D': '4', 'E': '5'}
len(dict227)
5 - элеменов получится пять, ведь команда zip работала столько раз, сколько элементов в наиболее маленьком объекте
```
```py
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 Множество
-типы разные или одинаковые, но только неизменяемые и неповторяющиеся.
```py
mnoz1={'двигатель','датчик','линия связи','датчик','микропроцессор','двигатель'}
print(mnoz1)
{'двигатель', 'датчик', 'микропроцессор', 'линия связи'}
len(mnoz1)
4
```
операции во множестве:
```py
'датчик' in mnoz1
True
mnoz1.add('реле')
print(mnoz1)
{'двигатель', 'датчик', 'линия связи', 'микропроцессор', 'реле'}
mnoz1.remove('линия связи')
print(mnoz1)
{'двигатель', 'датчик', 'микропроцессор', 'реле'}
```
Было создано множество:
```py
mnoz1 = {'лев', '1', True, ('тигр', 1, 3)}
mnoz1
{'1', True, 'лев', ('тигр', 1, 3)}
mnoz1.remove(True)
mnoz1
{'1', 'лев', ('тигр', 1, 3)}
mnoz1.add('черный')
mnoz1
{('тигр', 1, 3), 'лев', '1', 'черный'}
```
## 9.
exit()

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

@ -0,0 +1,24 @@
# Контрольное задание по теме 2
Анисенков Павел, А-01-23
## Задание
6. Пусть создан объект
hh=-12.2758
Напишите инструкцию вывода на экран значения этого объекта, округленного до двух знаков после точки.
## Решение
Для того чтобы округлять обьект используется функция round()
```py
hh=-12.2758
print(round(hh))
-12
```
округление прошло до целого
```py
print(round(hh,2))
-12.28
```
округление прошло до 2 знаков после точки
итогом получилось число -12.28 так как следующее число после 8 это 5 значит округляется вверх

@ -0,0 +1,527 @@
Тема 3 <Анисенков Павел Дмитриевич>
Python 3.13.6 (tags/v3.13.6:4e66535, Aug 6 2025, 14:36:00) [MSC v.1944 64 bit (AMD64)] on win32
Enter "help" below or click "Help" above for more information.
logiz1=bool(56)
logiz2=bool(0)
logiz3=bool("Beta")
logiz4=bool("")
logiz1
True
logiz2
False
logiz3
True
logiz4
False
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")
Traceback (most recent call last):
File "<pyshell#16>", line 1, in <module>
tt5=int("98.76")
ValueError: invalid literal for int() with base 10: '98.76'
\
flt1=float(789)
SyntaxError: unexpected indent
flt1=float(789)
flt1
789.0
flt2=float(-6.78e2)
flt2
-678.0
flt22=float(98.76)
flt22
98.76
flt3=float("Infinity")
flt3
inf
flt4=float("-inf")
flt4
-inf
hh=123
dv1=bin(hh)
dv1
'0b1111011'
vos1=oct(hh)
vos1
'0o173'
shs1=hex(hh)
shs1
'0x7b'
int(dv1,2)
123
int(dv1,8)
Traceback (most recent call last):
File "<pyshell#36>", line 1, in <module>
int(dv1,8)
ValueError: invalid literal for int() with base 8: '0b1111011'
int(vos1,8)
123
int(shs1,16)
123
strk1=str(23.6)
strk1
'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}"
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 = list({"A":1,"B":2,"C":9}.values())
spis3
[1, 2, 9]
spis3 = list({"A":1,"B":2,"C":9}.items())
spis3
[('A', 1), ('B', 2), ('C', 9)]
kort7=tuple('Строка символов')
kort7
('С', 'т', 'р', 'о', 'к', 'а', ' ', 'с', 'и', 'м', 'в', 'о', 'л', 'о', 'в')
kort8=tuple(spis2)
SyntaxError: unexpected indent
kort8=tuple(spis2)
kort8
(124, 236, -15, 908)
kort9=tuple({"A":1,"B":2,"C":9})
kort9
('A', 'B', 'C')
del strk5, kort8
strk5
Traceback (most recent call last):
File "<pyshell#67>", line 1, in <module>
strk5
NameError: name 'strk5' is not defined. Did you mean: 'strk1'?
kort8
Traceback (most recent call last):
File "<pyshell#68>", line 1, in <module>
kort8
NameError: name 'kort8' is not defined. Did you mean: 'kort7'?
name= "Анисенков П. Д."
namelist = list(name)
namelist
['А', 'н', 'и', 'с', 'е', 'н', 'к', 'о', 'в', ' ', 'П', '.', ' ', 'Д', '.']
nametup = tuple(namelist)
nametup
('А', 'н', 'и', 'с', 'е', 'н', 'к', 'о', 'в', ' ', 'П', '.', ' ', 'Д', '.')
namestr = str(nametup)
namestr
"('А', 'н', 'и', 'с', 'е', 'н', 'к', 'о', 'в', ' ', 'П', '.', ' ', 'Д', '.')"
12+7+90
109
5.689e-1 - 0.456
0.11289999999999994
23.6+54
77.6
14-56.7+89
46.3
-6.7*12
-80.4
-234.5/6
-39.083333333333336
a=178/45
SyntaxError: unexpected indent
a=178/45
a
3.9555555555555557
type(a)
<class 'float'>
b=178//45
b
3
c=-24.6//12.1
c
-3.0
d=-18//4.76468
d
-4.0
KeyboardInterrupt
148%33
16
12.6%3.8
1.2000000000000002
18%4.45656
0.17376000000000147
-18%4.45656
4.282799999999998
14**3
2744
e=2.7**3.6
e
35.719843790663525
g=52**22.8
g
1.333141459723109e+39
z1 = 3 + 4j, z2 = 1 - 2j
SyntaxError: invalid syntax. Maybe you meant '==' or ':=' instead of '='?
z1=3+4j
z2=1-2j
z1+z2
(4+2j)
z1-z2
(2+6j)
z1*z2
(11-2j)
z1/z2
(-1+2j)
z1**2
(-7+24j)
z1//z2
Traceback (most recent call last):
File "<pyshell#109>", line 1, in <module>
z1//z2
TypeError: unsupported operand type(s) for //: 'complex' and 'complex'
z1%z2
Traceback (most recent call last):
File "<pyshell#110>", line 1, in <module>
z1%z2
TypeError: unsupported operand type(s) for %: 'complex' and 'complex'
dv1=9
dv2=~dv1
dv2
-10
dv1
9
7&9
1
7&8
0
7|9
15
7|8
15
14|5
15
14:5
SyntaxError: illegal target for annotation
14^5
11
h=14
g=h<<2
g
56
g1=h>>1
g1
7
g2=h>>2
g2
3
a = 0b10110101
b = 0b01101011
a&b
33
a|b
255
a^b
222
a<<2
724
b<<3
856
'Система '+'регулирования'
'Система регулирования'
['abc','de','fg']+['hi','jkl']
['abc', 'de', 'fg', 'hi', 'jkl']
('abc','de','fg')+('hi','jkl')
('abc', 'de', 'fg', 'hi', 'jkl')
'ля-'*5
'ля-ля-ля-ля-ля-'
['ку','-']*3
['ку', '-', 'ку', '-', 'ку', '-']
('кис','-')*4
('кис', '-', 'кис', '-', 'кис', '-', 'кис', '-')
signal1=[0]*3+[1]*99
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]
stroka='Система автоматического управления'
stroka
'Система автоматического управления'
'автомат' in stroka
True
'ку' in ['ку','-']*3
True
'ля-' in ('abc', 'de', 'fg', 'hi', 'jkl')
False
stroka='Температура = %g %s %g'
stroka
'Температура = %g %s %g'
stroka % (16,' меньше ',25)
'Температура = 16 меньше 25'
KeyboardInterrupt
stroka='Температура = %(zn1)g %(sravn)s %(zn2)g'
stroka
'Температура = %(zn1)g %(sravn)s %(zn2)g'
stroka % {'zn1':16,'sravn':' меньше ','zn2':25}
'Температура = 16 меньше 25'
zz=-12
zz
-12
zz+=5
zz
-7
zz-=3
zz
-10
stroka='Система'
stroka+=' регулирования'
stroka
'Система регулирования'
zz/=2
zz
-5.0
zz*=5
zz
-25.0
dd=56.8
dd//=
SyntaxError: invalid syntax
dd//=2
dd
28.0
dd%=3
dd
1.0
dd+=4
dd
5.0
dd**=2
dd
25.0
w=v=10
n1,n2,n3=(11,-3,'all')
n1
11
n3
'all'
n1, n2, n3 = "11-"
n1
'1'
n3
'-'
n1, n2, n3 = [11, -3, 'all']
n1
11
n3
'all'
python
n1, n2, n3 = {11, -3, 'all'}
SyntaxError: multiple statements found while compiling a single statement
n1, n2, n3 = {11, -3, 'all'}
n1
-3
n2
11
n3
'all'
n1, n2, n3 = {'a': 11, 'b': -3, 'c': 'all'}
т1
Traceback (most recent call last):
File "<pyshell#194>", line 1, in <module>
т1
NameError: name 'т1' is not defined
n`
SyntaxError: invalid syntax
n1
'a'
n2
'b'
w==v
True
w!=v
False
w<v
False
w>w
False
w>v
False
w<=v
True
w>=v
True
mnoz1={'pen','book','pen','iPhone','table','book'}
'book' in mnoz1
True
'cap' in mnoz1
False
dic1={'Saratov':145, 'Orel':56, 'Vologda':45}
'Vologda' in dic1
True
'Pskov' in dic1
False
56 in dic1.values()
True
dct1={'Institut':['AVTI','IEE','IBB'],'Depart':['UII','PM','VMSS','MM'],'gruppa': ['A-01-15','A-02-15']}
'UII' in dct1['Depart']
True
dct1['Depart'][1] == 'MM'
False
a=17
b=
SyntaxError: invalid syntax
b=6
(a>=b) and ('book' in mnoz1) and not ('Pskov' in dic1)
True
age = 25
has_subscription = True
blacklist = {'spam@mail.com', 'fake@mail.com'}
user_email = "user@example.com"
access = (age >= 18) and has_subscription and (user_email not in blacklist)
access
True
w=v=10
w is v
True
w1=['A','B']
v1=['A','B']
w1 is v1
False
stroka.find('пр')
-1
stroka.count("с")
1
stroka.replace(' у',' автоматического у')
'Система регулирования'
stroka
'Система регулирования'
KeyboardInterrupt
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
'Момент времени {1}, значение = {0}:{2}'
strk2.format(36.7,2,'норма!')
'Момент времени 2, значение = 36.7:норма!'
strk3='Момент времени {num}, значение = {znch}'
strk3
'Момент времени {num}, значение = {znch}'
strk3.format(znch=89.7,num=2)
'Момент времени 2, значение = 89.7'
strk3
'Момент времени {num}, значение = {znch}'
spsk = [10, 'hello', 3.14, True, 'world', 10, 'python']
spsk.pop(2)
3.14
spsk.append('c')
spsk
[10, 'hello', True, 'world', 10, 'python', 'c']
spsk.insert(2,'a')
spsk
[10, 'hello', 'a', True, 'world', 10, 'python', 'c']
spsk.count('a')
1
spsk.pop(1)
'hello'
spsk
[10, 'a', True, 'world', 10, 'python', 'c']
my_tuple = (1, 2, 3, 2, 'a', 'b', 'a', True)
my_tuple.count(2)
2
my_tuple.insert(2,'a')
Traceback (most recent call last):
File "<pyshell#265>", line 1, in <module>
my_tuple.insert(2,'a')
AttributeError: 'tuple' object has no attribute 'insert'
my_tuple.append('c')
Traceback (most recent call last):
File "<pyshell#266>", line 1, in <module>
my_tuple.append('c')
AttributeError: 'tuple' object has no attribute 'append'
my_tuple.append('c')
Traceback (most recent call last):
File "<pyshell#267>", line 1, in <module>
my_tuple.append('c')
AttributeError: 'tuple' object has no attribute 'append'
my_dict = {'name': 'Alice', 'age': 25, 'city': 'Moscow', 'age': 26}
my_dict.count(2)
Traceback (most recent call last):
File "<pyshell#270>", line 1, in <module>
my_dict.count(2)
AttributeError: 'dict' object has no attribute 'count'
my_dict.pop(2)
Traceback (most recent call last):
File "<pyshell#271>", line 1, in <module>
my_dict.pop(2)
KeyError: 2
my_dict.pop(25)
Traceback (most recent call last):
File "<pyshell#272>", line 1, in <module>
my_dict.pop(25)
KeyError: 25
my_dict.pop(0)
Traceback (most recent call last):
File "<pyshell#273>", line 1, in <module>
my_dict.pop(0)
KeyError: 0
my_dict.count(2)
Traceback (most recent call last):
File "<pyshell#274>", line 1, in <module>
my_dict.count(2)
AttributeError: 'dict' object has no attribute 'count'
"keys():", list(my_dict.keys())
('keys():', ['name', 'age', 'city'])
"values():", list(my_dict.values())
('values():', ['Alice', 26, 'Moscow'])
"pop('city'):", my_dict.pop('city')
("pop('city'):", 'Moscow')
my_dict
{'name': 'Alice', 'age': 26}
set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6, 7, 8}
"add(9):", set1.add(9)
('add(9):', None)
set1
{1, 2, 3, 4, 5, 9}
set2.remove(3)
Traceback (most recent call last):
File "<pyshell#283>", line 1, in <module>
set2.remove(3)
KeyError: 3
set1.remove(3)
set1
{1, 2, 4, 5, 9}

@ -0,0 +1,768 @@
# Отчет по теме 3
Анисенков Павел, А-01-23
## 1 Запуск интерактивной оболочки IDLE
Была запущена интерактивная оболочка IDLE и создан протокол
## 2 Преобразование базовых типов обьектов в другие типы
Было изучено, как преобразовывать обьекты одного типа, в обьекты другого типа.
## 2.1 Преобразование обьектов в логический тип данных
Было изучено, как преобразовывать обьекты типа строка и число, в обьекты логического типа.
```py
>>>logiz1=bool(56)
>>>logiz2=bool(0)
>>>logiz3=bool("Beta")
>>>logiz4=bool("")
>>>logiz1
True
logiz2
False
logiz3
True
logiz4
False
```
## 2.2 Преобразование обьектов в числовой тип данных
Было изучено, как преобразовывать обьекты типа строка и число, в обьекты целого и вещественного типа int и float.
```py
>>>tt1=int(198.6) #Отбрасывается дробная часть
>>>tt1
198
>>>tt2=int("-76") #Число – в строке символов, система по умолчанию - десятичная
>>>tt2
-76
>>>tt3=int("B",16) #В шестнадцатиричной системе буква "В" соответствует числу 11
>>>tt3
11
>>>tt4=int("71",8) #71 преобразуется в число в восьмеричной системе
>>>tt4
57
>>>tt5=int("98.76") #Число представлено в виде строки, но само по себе оно относится к вещественным числам (типа float), поэтому сразу невозможно его преобразовать в целое. Для такого преобразования надо сначала переопределить его как float, а уже потом как int.
Traceback (most recent call last):
File "<pyshell#14>", line 1, in <module>
tt5=int("98.76")
ValueError: invalid literal for int() with base 10: '98.76'
>>>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 Преобразование целочисленных обьектов в строки с двоичным, восьмеричным и шестнадцатеричным представлением и обратное представление
Были преобразованы целочисленных обьекты в строки с двоичным, восьмеричным и шестнадцатеричным представлением и обратно представлены в целочисленном виде.
```py
>>>hh=123
>>>dv1=bin(hh) #Преобразование в строку с двоичным представлением
>>>vos1=oct(hh) # Преобразование в строку с восьмеричным представлением
>>>shs1=hex(hh) # Преобразование в строку с шестнадцатеричным представлением
>>>dv1
'0b1111011'
>>>vos1
'0o173'
>>>shs1
'0x7b'
>>>int(dv1,2)
123
>>>int(vos1, 8)
123
>>>int(shs1, 16)
123
```
## 3 Преобразование сложных типов обьектов в другие типы
## 3.1 Преобразование элементов в строку символов
В строку были преобразованы число, логическая переменная, список, кортеж и словарь.
```py
>>>strk1=str(23.6)
>>>strk1
'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 Преобразование элементов в список
Были преобразованы в список строка символов, кортеж и словарь тремя способами (включая только ключи, только значения и ключи и значения вместе).
```py
>>>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=list({"A":1,"B":2,"C":9}.values()) #Преобразование словаря в список по значениям
>>>spis3
[1, 2, 9]
>>>spis3=list({"A":1,"B":2,"C":9}.items()) #Преобразование словаря в список ключи и значения
>>>spis3
[('A', 1), ('B', 2), ('C', 9)]
```
## 3.3 Преобразование элементов в кортеж
В кортеж были преобразованы строка, список и словарь.
```py
>>>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 Удаление обьектов
Были удалены два обьекта и проверено их наличие. Так же самостоятельно ыла создана спрака, которая была потом преобразована в список, затем список – в кортеж и, кортеж – в строку.
```py
>>>del strk5, kort8
>>>strk5
Traceback (most recent call last):
File "<pyshell#62>", line 1, in <module>
strk5
NameError: name 'strk5' is not defined. Did you mean: 'strk1'?
>>>kort8
Traceback (most recent call last):
File "<pyshell#63>", line 1, in <module>
kort8
NameError: name 'kort8' is not defined. Did you mean: 'kort7'?
>>>f_spis=list(f_str)
>>>f_kort=tuple(f_spis)
>>>f_sstr=str(f_kort)
name= "Анисенков П. Д."
namelist = list(name)
namelist
['А', 'н', 'и', 'с', 'е', 'н', 'к', 'о', 'в', ' ', 'П', '.', ' ', 'Д', '.']
nametup = tuple(namelist)
nametup
('А', 'н', 'и', 'с', 'е', 'н', 'к', 'о', 'в', ' ', 'П', '.', ' ', 'Д', '.')
namestr = str(nametup)
namestr
"('А', 'н', 'и', 'с', 'е', 'н', 'к', 'о', 'в', ' ', 'П', '.', ' ', 'Д', '.')"
```
## 4 Изучение арифметических операций
Были применены и изучены различные арифметические операции с числами целого, вещественного и комплексного типа.
## 4.1 Изучение сложения и вычитания
Были применены операции сложения и вычитания с различными числами.
```py
>>>12+7+90 # Сложение целых чисел
109
>>>5.689e-1 - 0.456 #Вычитание вещественных чисел
0.11289999999999994
>>>23.6+54 #Сложение вещественного и целого чисел
77.6
>>>14-56.7+89 # Сложение и вычитание целых и вещественных чисел
46.3
```
## 4.2 Изучение умножения
Было умножено вещественное число на целое.
```py
>>>-6.7*12 #Умножение вещественного числа на целое число
-80.4
```
## 4.3 Изучение деления с результатом - вещественным числом
Было произведено деление чисел на целое число и проверен класс результативной переменной.
```py
>>>-234.5/6 #Деление вещественного числа на целое
-39.083333333333336
>>>a=178/45 #Деление двух целых чисел – проверьте тип объекта a!
>>>a
3.9555555555555557
>>>type(a)
<class 'float'>
```
## 4.4 Изучение деления с округлением вниз
Был применен операнд деления с округлением вниз, деление испробовано на целых и вещественных числах и выведен тип результативной переменной.
```py
>>>b=178//45 #Деление двух целых чисел
>>>b
3
>>>type(b)
<class 'int'>
>>>c=-24.6//12.1 #Деление двух вещественных чисел
>>>c
-3.0
>>>type(c)
<class 'float'>
>>>ddd=56.88//45
>>>ddd
1.0
>>>type(ddd)
<class 'float'>
>>>eee=45//56.88
>>>eee
0.0
```
## 4.5 Изучение получения отсатка от деления
Был применен операнд остатка от деления, операция применена по отношению к целым и вещественным числам.
```py
>>>148%33 #Остаток от деления двух целых чисел
16
>>>12.6%3.8 #Остаток от деления двух вещественных чисел
1.2000000000000002
>>>18%4.45656
0.17376000000000147
>>>-18%4.45656
4.282799999999998
```
## 4.6 Изучение возведения в степень
Была применена операция возведения в степень с вещественными и целыми числами.
```py
>>>14**3 #Целое число возводится в целую степень
2744
>>>e=2.7**3.6
>>>e
35.719843790663525
>>>g=52**22.8
>>>g
1.333141459723109e+39
```
Также самостоятельно были произведены операции над комплексными числами. Выяснено, что выполнимы все вышеприведенные операции, кроме деления с округлением вниз и определения остатка.
```py
>>>z1=3+4j
>>>z2=1-2j
>>>z1+z2
(4+2j)
>>>z1-z2
(2+6j)
>>>z1*z2
(11-2j)
>>>z1/z2
(-1+2j)
>>>z1**2
(-7+24j)
>>>z1//z2
Traceback (most recent call last):
File "<pyshell#109>", line 1, in <module>
z1//z2
TypeError: unsupported operand type(s) for //: 'complex' and 'complex'
>>>z1%z2
Traceback (most recent call last):
File "<pyshell#110>", line 1, in <module>
z1%z2
TypeError: unsupported operand type(s) for %: 'complex' and 'complex'
```
## 5 Изучение операций с двоичными представлениями целых чисел
Были произведены различные операции с двоичным представлением целых чисел.
## 5.1 Изучение двоичной инверсии
Была применена двоичная инверсия.
```py
>>>dv1=9
>>>dv2=~dv1
>>>dv2
-10
```
## 5.2 Изучение двоичного И
Была применена операция двоичного И.
```py
7&9 # 111 и 1001 = 0001
1
7&8 # 111 и 1000 = 0000
0
```
## 5.3 Изучение двоичного ИЛИ
Была применена операция двоичного ИЛИ.
```py
>>>7|9 # 111 или 1001 = 1111
15
>>>7|8 # 111 или 1000 = 1111
15
>>>14|5 # 1110 или 0101 = 1111
15
```
## 5.4 Изучение двоичного исключающего ИЛИ
Была применена операция двоичного исключающего ИЛИ.
```py
>>>14^5 # 1110 исключающее или 0101 = 1011
11
```
14: 1 1 1 0
5: 0 1 0 1
↓ ↓ ↓ ↓
^: 1 0 1 1
выдает 1 где разные значения, 0 - где одинаковые
Число 11 получилось при переводе числа 1011 из двоичной системы в десятичную. Это можно сделать с помощью выражения: 1*2^3 + 0*2^2 + 1*2^1 + 1*2^0 = 8 + 0 + 2 + 1 = 11
## 5.5 Изучение сдвига двоичного представления на заданное число разрядов влево или вправо с дополнением нулями
Был произведен сдвиг двоичного представления влево и вправо с дополнением нулями.
```py
>>>h=14 #Двоичное представление = 1110
>>>g=h<<2 # Новое двоичное представление = 111000
>>>g
56
>>>g1=h>>1 # Новое двоичное представление = 0111
>>>g1
7
>>>g2=h>>2 # Новое двоичное представление = 0011
>>>g2
3
```
```py
>>>a = 0b10110101
>>>b = 0b01101011
>>>a&b
33
>>>a|b
255
>>>a^b
222
>>>a<<2
724
>>>b<<3
856
```
## 6 Изучение операций при работе с последовательностями (строками, списками, кортежами)
## 6.1 Изучение обьединения обьектов различных типов
Были обьеденены строки, списки и кортежи.
```py
>>>'Система '+'регулирования' #Соединение двух строк символов
'Система регулирования'
>>>['abc','de','fg']+['hi','jkl'] # Объединение двух списков
['abc', 'de', 'fg', 'hi', 'jkl']
>>>('abc','de','fg')+('hi','jkl') # Объединение двух кортежей
('abc', 'de', 'fg', 'hi', 'jkl')
```
## 6.2 Изучение повторения элементов обьекта различных типов
Было произведено повторение строки, списка и кортежа
```py
>>>'ля-'*5 #Повторение строки 5 раз
'ля-ля-ля-ля-ля-'
>>>['ку','-']*3 #Повторение списка 3 раза
['ку', '-', 'ку', '-', 'ку', '-']
>>>('кис','-')*4 #Повторение кортежа 4 раза
('кис', '-', 'кис', '-', 'кис', '-', 'кис', '-')
>>>signal1=[0]*3+[1]*99
>>>signal2=(0,)*3+(1,)*5+(0,)*7
>>>signal1
[0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
>>>signal2
(0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0)
```
## 6.3 Изучение проверки наличия элементов в обьекте
Было проверено наличие определенных элементов в строке, списке и кортеже.
```py
>>>stroka='Система автоматического управления'
>>>'автомат' in stroka #Наличие подстроки в строке
True
>>>'ку' in ['ку','-']*3 #Наличие контекста в списке
True
>>>'ля-' in ('abc', 'de', 'fg', 'hi', 'jkl') #Наличие контекста в кортеже
False
```
## 6.4 Изучение подстановки элементов в обьект
Была произведена подстановка чисел и строки в обьект.
```py
>>>stroka='Температура = %g %s %g'
>>>stroka % (16,' меньше ',25)
'Температура = 16 меньше 25'
>>>stroka='Температура = %(zn1)g %(sravn)s %(zn2)g'
>>>stroka % {'zn1':16,'sravn':' меньше ','zn2':25}
'Температура = 16 меньше 25'
```
## 7 Изучение оператора присваивания
## 7.1 Изучение присваивания для переменной
Была создана переменная и ей присвоено определенное значение.
```py
>>>zz=-12
>>>zz
-12
```
## 7.2 Изучение изменения заданной переменной на определенную величину
Значение переменной было увеличено и потом уменьшено на определенное значение.
```py
>>>zz+=5 # Значение zz увеличивается на 5
>>>zz-=3 # Значение уменьшается на 3
>>>zz
-10
>>>stroka='Система'
>>>stroka+=' регулирования'
>>>stroka
'Система регулирования'
```
## 7.3 Изучение умножения и деления переменной
Переменная была умножена, а потом поделена на определенное значение. Также самостоятельно был применон этот операнд для строки, в последствии чего символы в строке продублировались столько раз, какое было умножаемое число.
```py
>>>zz/=2
>>>zz
-5.0
>>>zz*=5
>>>zz
-25.0
>>>xxx="zz"
>>>xxx*=5
>>>xxx
'zzzzzzzzzz'
```
## 7.4 Изучение деления с округлением вниз, получение остатка деления и возведение в степень
На переменной были самостоятельно испробованы операции деления с округлением вниз, получение остатка деления и возведение в степень.
```py
>>>dd=56.8
>>>dd//=2
>>>dd
28.0
>>>dd%=3
>>>dd
1.0
>>>dd+=4
>>>dd
5.0
>>>dd**=2
>>>dd
25.0
```
## 7.5 Изучение множественного присваивания
Разным переменным было присвоено одно значение. Также были присвоены значения переменным в одну строку с использованием кортежа,
```py
>>>w=v=10 # Переменным присваивается одно и то же значение
>>>w
10
>>>v
10
>>>n1,n2,n3=(11,-3,'all') #Значения переменных берутся из кортежа, строки, списка и словаря.
>>>n1;n2;n3
11
-3
'all'
>>>n1, n2, n3 = "11-"
>>>n1
'1'
>>>n3
'-'
>>>n1, n2, n3 = [11, -3, 'all']
>>>n1
11
>>>n3
'all'
>>>n1, n2, n3 = {11, -3, 'all'}
>>>n1
-3
>>>n2
11
>>>n3
'all'
>>>n1, n2, n3 = {'a': 11, 'b': -3, 'c': 'all'}>>>
>>>n1
'a'
>>>n2
'b'
```
## 8 Изучение логических операций
Были изучены и применены некоторые логические операции, а также некоторые действия, с помощью логических операций.
## 8.1 Изучение операций сравнения
К двум переменным были применены различные операции сравнения.
```py
>>>w==v
True
>>>w!=v
False
>>>w>v
False
>>>w<v
False
>>>w<=v
True
>>>w>=v
True
```
## 8.2 Изучение проверки наличия элемента в обьекте с помощью логических операций
Были созданы множество и словарь, и проверено имеются ли в них определенные элементы.
```py
>>>mnoz1={'pen','book','pen','iPhone','table','book'}
>>>'book' in mnoz1
True
>>>'cap' in mnoz1
False
>>>dic1={'Saratov':145, 'Orel':56, 'Vologda':45}
>>>'Vologda' in dic1
True
>>>'Pskov' in dic1
False
>>>56 in dic1.values()
True
>>>dct1={'Institut':['AVTI','IEE','IBB'],'Depart':['UII','PM','VMSS','MM'],'gruppa': ['A-01-15','A-02-15']}
>>>'UII' in dct1['Depart']
True
>>>dct1['Depart'][1] == 'MM'
False
```
## 8.3 Изучение создания выражений с соединительными словами И, ИЛИ, НЕ
Были построены выражения с соединитиельными словами И, ИЛИ, НЕ.
```py
>>>a=17
>>>b=-6
>>>(a>=b) and ('book' in mnoz1) and not ('Pskov' in dic1)
True
>>>(5>6) and ('kazan' in dic1) and not ('Linchik' in mnoz1)
False
>>>(5>6) and (7>5) or ("Saratov" in dic1)
True
```
## 8.4 Изучение проверки ссылок переменных на наличие одного и того же обьекта
Было проверено, являются ли созданные обьекты одними и теми же обьектами в памяти.
```py
>>>w=v=10 #При таком присваивании переменные ссылаются на один и тот же объект в оперативной памяти
>>>w is v
True
>>>w1=['A','B']
>>>v1=['A','B']
>>>w1 is v1 #В данном случае эти переменные не записаны в один адрес памяти, питон создает для списков два разных обьекта, так как список это изменяемый тип и так как значение для переменных присваивалось по-отдельности. Так питон гарантирует, что изменение одного списка не повлияет на другой.
False
```
## 9 Изучение операций с обьектами, проводимыми с помощью методов
Была создана строка и выведена все методы для нее.
```py
>>>stroka='Микропроцессорная система управления'
>>>dir(stroka)
['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmod__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'capitalize', 'casefold', 'center', 'count', 'encode', 'endswith', 'expandtabs', 'find', 'format', 'format_map', 'index', 'isalnum', 'isalpha', 'isascii', 'isdecimal', 'isdigit', 'isidentifier', 'islower', 'isnumeric', 'isprintable', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'maketrans', 'partition', 'removeprefix', 'removesuffix', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill']
```
## 9.1 Изучение методов применимых для строки
Были применены разные методы для работы со строками.
```py
>>>stroka.find('пр') #Возвращает номер позиции первого вхождения указанного контекста или значение -1
5
>>>stroka.count("с") #Подсчет числа вхождений строки “с” в stroka
4
>>>stroka.replace(' у',' автоматического у')
'Микропроцессорная система автоматического управления'
>>>spis22=stroka.split(' ') #Возвращает список подстрок, между которыми в строке стоит заданный разделитель
>>>spis22
['Микропроцессорная', 'система', 'управления']
>>>stroka.upper() #Возвращает строку со всеми заглавными буквами
'МИКРОПРОЦЕССОРНАЯ СИСТЕМА УПРАВЛЕНИЯ'
>>>stroka3=" ".join(spis22) #Возвращает строку, собранную из элементов списка
>>>stroka3
'Микропроцессорная система управления'
>>>stroka3.partition("с") #Возвращает кортеж с результатами поиска «с» слева
('Микропроце', 'с', 'сорная система управления')
>>>stroka3.rpartition("с") #Возвращает кортеж с результатами поиска «с» справа
('Микропроцессорная си', 'с', 'тема управления')
>>>strk1='Момент времени {}, значение = {}'
>>>strk1.format(1,89.7)
'Момент времени 1, значение = 89.7'
>>>strk2='Момент времени {1}, значение = {0}:{2}'
>>>strk2.format(36.7,2,'норма!')
'Момент времени 2, значение = 36.7:норма!'
>>>strk3='Момент времени {num}, значение = {znch}'
>>>strk3.format(znch=89.7,num=2)
'Момент времени 2, значение = 89.7'
```
## 9.2 Изучение методов применимых к спискам
Были применены разные методы для работы со списками.
```py
>>>spsk = [10, 'hello', 3.14, True, 'world', 10, 'python']
>>>spsk.pop(2)
3.14
>>>spsk.append('c')
>>>spsk
[10, 'hello', True, 'world', 10, 'python', 'c']
>>>spsk.insert(2,'a')
>>>spsk
[10, 'hello', 'a', True, 'world', 10, 'python', 'c']
>>>spsk.count('a')
1
>>>spsk.pop(1)
'hello'
>>>spsk
[10, 'a', True, 'world', 10, 'python', 'c']
```
## 9.3 Изучение методов применимых к кортежам
Были применены разные методы для работы с кортажами и применены.
```py
>>>my_tuple = (1, 2, 3, 2, 'a', 'b', 'a', True)
>>>my_tuple.count(2)
2
>>>my_tuple.insert(2,'a')
Traceback (most recent call last):
File "<pyshell#265>", line 1, in <module>
my_tuple.insert(2,'a')
AttributeError: 'tuple' object has no attribute 'insert'
>>>my_tuple.append('c')
Traceback (most recent call last):
File "<pyshell#266>", line 1, in <module>
my_tuple.append('c')
AttributeError: 'tuple' object has no attribute 'append'
>>>my_tuple.append('c')
Traceback (most recent call last):
File "<pyshell#267>", line 1, in <module>
my_tuple.append('c')
AttributeError: 'tuple' object has no attribute 'append'
```
## 9.4 Изучение методов применимых к словарям
Были применены разные методы для работы со словарями и применен один из них.
```py
>>>my_dict = {'name': 'Alice', 'age': 25, 'city': 'Moscow', 'age': 26}
>>>my_dict.count(2)
Traceback (most recent call last):
File "<pyshell#270>", line 1, in <module>
my_dict.count(2)
AttributeError: 'dict' object has no attribute 'count'
>>>my_dict.pop(2)
Traceback (most recent call last):
File "<pyshell#271>", line 1, in <module>
my_dict.pop(2)
KeyError: 2
>>>my_dict.pop(25)
Traceback (most recent call last):
File "<pyshell#272>", line 1, in <module>
my_dict.pop(25)
KeyError: 25
>>>my_dict.pop(0)
Traceback (most recent call last):
File "<pyshell#273>", line 1, in <module>
my_dict.pop(0)
KeyError: 0
>>>my_dict.count(2)
Traceback (most recent call last):
File "<pyshell#274>", line 1, in <module>
my_dict.count(2)
AttributeError: 'dict' object has no attribute 'count'
"keys():", list(my_dict.keys())
('keys():', ['name', 'age', 'city'])
"values():", list(my_dict.values())
('values():', ['Alice', 26, 'Moscow'])
"pop('city'):", my_dict.pop('city')
("pop('city'):", 'Moscow')
```
## 10 Завершение работы в IDLE
Был завершен сеанс в среде IDLE.

@ -0,0 +1,78 @@
# Общее контрольное задание по теме 3
Анисенков Павел, А-01-23
## Задание
Реализовать, записать в текстовый файл и проанализировать результаты последовательности инструкций, выполняющих следующие действия:
• Преобразовать восьмеричное значение 45 в целое число.
• Создать объект-словарь D со значениями {"усиление":23, "запаздывание":12, "постоянная времени":78} и затем осуществить его преобразование в два списка: ключей и значений, а затем – эти два списка преобразовать в один кортеж. Чем отличается кортеж от списка?
• Напишите и выполните единое выражение, осуществляющее деление числа 1768 на 24.8 с округлением вниз, с определением после этого остатка от деления получившегося значения на 3 и затем возведения результата в степень 2.4.
• Напишите и выполните единое выражение, последовательно осуществляющее следующие операции: двоичное И для чисел 13 и 27, инверсия полученного значения, двоичное исключающее ИЛИ для полученного значения и числа 14, сдвиг полученного значения на два разряда влево.
• Создать список с 4 одинаковыми элементами 'колебат' и написать оператор проверки наличия комбинации символов 'аткол' в результате конкатенации второго и третьего элементов этого списка.
• Определить список методов, доступных у ранее созданного словаря D. Поочередно использовать его методы keys и values, определить, что можно получить с применением этих методов.
• Создать объект - символьную строку с текстом данного предложения. Из символьной строки создать список, элементами которого будут отдельные слова из созданной строки. Заменить в списке элемент «-» на «,». Удалить из списка элемент со значением «данного». Отобразить получившийся список.
## Решение
```py
>>>a = int("45", 8)
>>>a
37
>>>D={"усиление":23, "запаздывание":12, "постоянная времени":78}
>>>spis1=list(D)
>>>spis1
['усиление', 'запаздывание', 'постоянная времени']
>>>spis2=list(D.values())
>>>spis2
[23, 12, 78]
>>>kor=tuple(spis1)+tuple(spis2) #Список отличается от кортежа тем, что список изменяем, а кортеж нет.
>>>kor
('усиление', 'запаздывание', 'постоянная времени', 23, 12, 78)
>>>((1768//24.8)%3)**2.4
5.278031643091577
>>>((~(13&27))^14)<<2
-32
>>>spis3=["колебат", "колебат", "колебат", "колебат" ]
>>>'аткол' in spis3[1] + spis3[2]
True
>>>dir(D)
['__class__', '__class_getitem__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__ior__', '__iter__', '__le__', '__len__', '__lt__', '__ne__', '__new__', '__or__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__ror__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'clear', 'copy', 'fromkeys', 'get', 'items', 'keys', 'pop', 'popitem', 'setdefault', 'update', 'values']
>>>help(D.keys)
Help on built-in function keys:
keys() method of builtins.dict instance
Return a set-like object providing a view on the dict's keys.
>>>help(D.values)
Help on built-in function values:
values() method of builtins.dict instance
Return an object providing a view on the dict's values.
>>>D.keys() #Этот метод отображает ключи словаря
dict_keys(['усиление', 'запаздывание', 'постоянная времени'])
>>>D.values() #Этот метод отображает значения словаря
dict_values([23, 12, 78])
>>>S="Создать объект - символьную строку с текстом данного предложения"
>>>L=list(S.split())
>>>L
['Создать', 'объект', '-', 'символьную', 'строку', 'с', 'текстом', 'данного', 'предложения']
>>>L[L.index("-")] = ","
>>>L
['Создать', 'объект', ',', 'символьную', 'строку', 'с', 'текстом', 'данного', 'предложения']
>>>L.remove("данного")
>>>L
['Создать', 'объект', ',', 'символьную', 'строку', 'с', 'текстом', 'предложения']
```

@ -0,0 +1,58 @@
# Контрольное задание по 1 модулю
Анисенков Павел, А-01-23
## Задание 12
1) Как можно запустить на выполнение программу, исходный код которой находится в текстовом файле?
2) Создайте объект-кортеж с 6 элементами - названиями фруктов. Напишите инструкцию, доказывающую, что создан объект именно требуемого типа. Напишите инструкцию отображения списка атрибутов созданного объекта.
3) Создайте новый кортеж добавлением к последним трем элементам ранее созданного кортежа ещё двух элементов: "фейхоа" и "маракуйя". Отобразите получившийся объект. Напишите инструкцию, позволяющую установить индекс элемента "фейхоа" в новом кортеже.
4) Преобразуйте кортеж в список, а затем список - в новый кортеж. Отобразите полученный объект. Напишите инструкцию проверки совпадения нового и старого кортежей.
5) Преобразуйте кортеж в символьную строку. Отобразите объект. Напишите инструкцию, которая позволит определить начальную позицию, начиная с которой в строку входит подстрока с заданным наименованием фрукта.
## Решение
Через cmd: python test.py
В IDLE: test (без расширения написать в командном окне)
File - Open - test.py - F5
import test
```py
fruits = ('яблоко', 'банан', 'апельсин', 'киви', 'груша', 'ананас')
type(fruits)
<class 'tuple'>
dir(fruits)
['__add__', '__class__', '__class_getitem__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'count', 'index']
```
```py
fruits5 = fruits[-3:] + ('фейхоа', 'маракуйя')
fruits5
('киви', 'груша', 'ананас', 'фейхоа', 'маракуйя')
nomer = fruits5.index('фейхоа')
nomer
3
```
```py
fruitspis = list(fruits5)
type(fruitspis)
<class 'list'>
fruits4 = tuple(fruitspis)
fruits4
('киви', 'груша', 'ананас', 'фейхоа', 'маракуйя')
type(fruits4)
<class 'tuple'>
fruits5 == fruits4
True
```
```py
fruits6 = str(fruits5)
fruits6
"('киви', 'груша', 'ананас', 'фейхоа', 'маракуйя')"
fruits6.find('Груша')
-1
fruits6.find('груша')
10
```

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

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

После

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

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

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

После

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

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

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

После

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

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

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

После

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

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

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

После

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

@ -0,0 +1,93 @@
#Тема 4 <Анисенков Павел Дмитриевич>
Python 3.13.6 (tags/v3.13.6:4e66535, Aug 6 2025, 14:36:00) [MSC v.1944 64 bit (AMD64)] on win32
Enter "help" below or click "Help" above for more information.
help(round)
Help on built-in function round in module builtins:
round(number, ndigits=None)
Round a number to a given precision in decimal digits.
The return value is an integer if ndigits is omitted or None. Otherwise
the return value has the same type as the number. ndigits may be negative.
round(123.456,1)
123.5
round(123.456,0)
123.0
type(round(123.456,0))
<class 'float'>
type(round(123.456,1\))
SyntaxError: unexpected character after line continuation character
type(round(123.456,1))
<class 'float'>
type(round(123.456,))
<class 'int'>
len(123)
Traceback (most recent call last):
File "<pyshell#7>", line 1, in <module>
len(123)
TypeError: object of type 'int' has no len()
len('hello')
5
import pylab
imp
ort sys
SyntaxError: invalid syntax
import sys
x=list(range(-3,55,4))
=list(range(15))
SyntaxError: invalid syntax
t=list(range(15))
pylab.plot(t,x)
[<matplotlib.lines.Line2D object at 0x000002A6746F8F50>]
pylab.title('Первый график')
Text(0.5, 1.0, 'Первый график')
pylab.xlabel('время')
SyntaxError: unexpected indent
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 0x000002A675E05950>]
pylab.plot(X2)
[<matplotlib.lines.Line2D object at 0x000002A675E05A90>]
pylab.show()
region=['Центр','Урал','Сибирь','Юг']
naselen=[65,12,23,17]
pylab.pie(naselen,labels=region)
([<matplotlib.patches.Wedge object at 0x000002A6745F7CB0>, <matplotlib.patches.Wedge object at 0x000002A675783750>, <matplotlib.patches.Wedge object at 0x000002A675783B10>, <matplotlib.patches.Wedge object at 0x000002A675783D90>], [Text(-0.191013134139045, 1.0832885038559115, 'Центр'), Text(-0.861328292412156, -0.6841882582231001, 'Урал'), Text(0.04429273995539947, -1.0991078896938387, 'Сибирь'), Text(0.9873750693480946, -0.48486129194837324, 'Юг')])
pylab.show() #Отображение диаграммы
data = [1, 2, 3, 3, 2, 3, 3, 3, 2]
pylab.hist(data, bins=3)
(array([1., 3., 5.]), array([1. , 1.66666667, 2.33333333, 3. ]), <BarContainer object of 3 artists>)
SyntaxError: multiple statements found while compiling a single statement
pylab.hist(data, bins=3)
(array([1., 3., 5.]), array([1. , 1.66666667, 2.33333333, 3. ]), <BarContainer object of 3 artists>)
pylab.title("Гистограмма")
Text(0.5, 1.0, 'Гистограмма')
Text(0.5, 1.0, 'Гистограмма')
Traceback (most recent call last):
File "<pyshell#34>", line 1, in <module>
Text(0.5, 1.0, 'Гистограмма')
NameError: name 'Text' is not defined. Did you mean: 'next'?
pylab.show()
c = ['A', 'B', 'C', 'D']
v = [25, 40, 30, 50]
pylab.bar(c, v)
<BarContainer object of 4 artists>
pylab.title("Столбиковая диаграмма")
Text(0.5, 1.0, 'Столбиковая диаграмма')
pylab.show()

@ -0,0 +1,92 @@
#Тема 4 <Анисенков Павел Дмитриевич>
Python 3.13.6 (tags/v3.13.6:4e66535, Aug 6 2025, 14:36:00) [MSC v.1944 64 bit (AMD64)] on win32
Enter "help" below or click "Help" above for more information.
help(round)
Help on built-in function round in module builtins:
round(number, ndigits=None)
Round a number to a given precision in decimal digits.
The return value is an integer if ndigits is omitted or None. Otherwise
the return value has the same type as the number. ndigits may be negative.
round(123.456,1)
123.5
round(123.456,0)
123.0
type(round(123.456,0))
<class 'float'>
type(round(123.456,1\))
SyntaxError: unexpected character after line continuation character
type(round(123.456,1))
<class 'float'>
type(round(123.456,))
<class 'int'>
len(123)
Traceback (most recent call last):
File "<pyshell#7>", line 1, in <module>
len(123)
TypeError: object of type 'int' has no len()
len('hello')
5
import pylab
imp
ort sys
SyntaxError: invalid syntax
import sys
x=list(range(-3,55,4))
=list(range(15))
SyntaxError: invalid syntax
t=list(range(15))
pylab.plot(t,x)
[<matplotlib.lines.Line2D object at 0x000002A6746F8F50>]
pylab.title('Первый график')
Text(0.5, 1.0, 'Первый график')
pylab.xlabel('время')
SyntaxError: unexpected indent
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 0x000002A675E05950>]
pylab.plot(X2)
[<matplotlib.lines.Line2D object at 0x000002A675E05A90>]
pylab.show()
region=['Центр','Урал','Сибирь','Юг']
naselen=[65,12,23,17]
pylab.pie(naselen,labels=region)
([<matplotlib.patches.Wedge object at 0x000002A6745F7CB0>, <matplotlib.patches.Wedge object at 0x000002A675783750>, <matplotlib.patches.Wedge object at 0x000002A675783B10>, <matplotlib.patches.Wedge object at 0x000002A675783D90>], [Text(-0.191013134139045, 1.0832885038559115, 'Центр'), Text(-0.861328292412156, -0.6841882582231001, 'Урал'), Text(0.04429273995539947, -1.0991078896938387, 'Сибирь'), Text(0.9873750693480946, -0.48486129194837324, 'Юг')])
pylab.show() #Отображение диаграммы
data = [1, 2, 3, 3, 2, 3, 3, 3, 2]
pylab.hist(data, bins=3)
(array([1., 3., 5.]), array([1. , 1.66666667, 2.33333333, 3. ]), <BarContainer object of 3 artists>)
SyntaxError: multiple statements found while compiling a single statement
pylab.hist(data, bins=3)
(array([1., 3., 5.]), array([1. , 1.66666667, 2.33333333, 3. ]), <BarContainer object of 3 artists>)
pylab.title("Гистограмма")
Text(0.5, 1.0, 'Гистограмма')
Text(0.5, 1.0, 'Гистограмма')
Traceback (most recent call last):
File "<pyshell#34>", line 1, in <module>
Text(0.5, 1.0, 'Гистограмма')
NameError: name 'Text' is not defined. Did you mean: 'next'?
pylab.show()
c = ['A', 'B', 'C', 'D']
v = [25, 40, 30, 50]
pylab.bar(c, v)
<BarContainer object of 4 artists>
pylab.title("Столбиковая диаграмма")
Text(0.5, 1.0, 'Столбиковая диаграмма')
pylab.show()

@ -0,0 +1,466 @@
# Отчет по теме 4
Анисенков Павел, А-01-23
## 1 Запуск интерактивной оболочки IDLE
Была запущена интерактивная оболочка IDLE.
## 2 Изучение стандартных встроенных функций
## 2.1 Изучение функции округления
Была применена функция round, были изучены различия между указанием одного и двух аргументов.
```py
>>>help(round)
Help on built-in function round in module builtins:
round(number, ndigits=None)
Round a number to a given precision in decimal digits.
The return value is an integer if ndigits is omitted or None. Otherwise
the return value has the same type as the number. ndigits may be negative.
>>>round(123.456,1)
123.5
>>>round(123.456,0)
123.0
>>>type(round(123.456,1))
<class 'float'>
>>>type(round(123.456,0)) #В результате получаются числа класса float, так как указано сколько цифр после запятой нужно оставить. Два вышеупомянутых варианта отличаются тем что первое округляется по 1 цифре после запятой а второе - по целому числу.
<class 'float'>
>>>round(123.456)
123
>>>type(round(123.456)) #В данном случае получается число типа int, так как не указано количество цифр после запятой, и по умолчанию число округляется до целого.
<class 'int'>
```
## 2.2 Изучение функции создания последовательности
Была применена функция range и изучена разница между способами применения функции.
```py
>>>gg=range(76,123,9)
>>>gg
range(76, 123, 9) #итерируемый объект
>>>list(gg)
[76, 85, 94, 103, 112, 121]
>>>range(23) #При указывание одного аргумента строится последовательность от 0 до указанного числа не включительно, с шагом 1.
range(0, 23)
>>>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 и произведена попытка обращения к элементу созданной последовательности по индексу.
```py
>>>qq=["Anisenkov", "Filippov", "Filippova", "Podolskiy"]
>>>ff=zip(gg,qq)
>>>tuple(ff) #В итоге получится последовательность из 4 элементов, так как в qq 4 элемента, а в gg 6. Длина равна длине самого короткого списка.
((76, 'Anisenkov'), (85, 'Filippov'), (94, 'Filippova'), (103, 'Podolskiy'))
>>>ff[1] #Исходя из текста ошибки, можно сказать, что zip обьекты не поддерживают доступ по индексу.
Traceback (most recent call last):
File "<pyshell#15>", line 1, in <module>
ff[1]
TypeError: 'zip' object is not subscriptable
```
## 2.4 Изучение функции eval
Была применена функция eval.
```py
>>>fff=float(input('коэффициент усиления=')); dan=eval('5*fff-156')
коэффициент усиления=6
>>>dan
-126.0 #вычисляет выражение
```
## 2.5 Изучение функции exec
Была применена функция exec.
```py
>>>exec(input('введите инструкции:'))
введите инструкции:perem=-123.456;gg=round(abs(perem)+98,3)
>>>gg
221.456 #выполняет блок кода
```
Вывод: eval() для вычислений с возвратом значения, exec() для выполнения кода без возврата значения.
exec() не возвращает значение функции, но он выполняет код, который может создавать, изменять или удалять переменные в текущей области видимости. Поэтому переменная gg становится доступной после выполнения exec().
## 2.6 Изучение ряда полезных функций (abs, pow, max, min, sum, divmod, len, map)
Был изучен и применен ряд полезных функций:
abs - выдает значение по модулю;
```py
>>>abs(-5)
5
```
pow - при двух аргументах: возводит первый в степень второго, при наличие третьего аргумента делит получившийся результат на третий аргумент и показывает остаток;
```py
>>>pow(3, 2, 3)
0
>>>pow(3, 2)
9
```
max - выдает максимальное число из списка введенных в аргумент;
min - выдает минимальное число из списка введенных в аргумент;
```py
>>>max(3, 4)
4
>>>min(3, 4)
3
```
sum - суммирует числа;
```py
>>>sum([2, 3])
5
```
divmod - возвращает кортеж (a // b, a % b), где а и b соответственно первый и второй аргумент;
```py
>>>divmod(7, 2)
(3, 1)
```
len - выдает длину обьекта;
```py
>>>len('hello')
5
```
map - применяет функцию из первого аргумента к каждому элементу итерируемого обьекта, который указан во втором аргументе.
```py
>>>list(map(lambda x: x*2, [1, 2, 3, 4]))
[2, 4, 6, 8]
```
## 3 Изучение функций из модуля math для работы с математическими выражениями и операциями.
Был импортирован и изучен модуль math. Были изучены и применены некоторые функции из модуля math.
```py
>>>import math
>>>dir(math)
['__doc__', '__loader__', '__name__', '__package__', '__spec__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2', 'atanh', 'cbrt', 'ceil', 'comb', 'copysign', 'cos', 'cosh', 'degrees', 'dist', 'e', 'erf', 'erfc', 'exp', 'exp2', 'expm1', 'fabs', 'factorial', 'floor', 'fma', 'fmod', 'frexp', 'fsum', 'gamma', 'gcd', 'hypot', 'inf', 'isclose', 'isfinite', 'isinf', 'isnan', 'isqrt', 'lcm', 'ldexp', 'lgamma', 'log', 'log10', 'log1p', 'log2', 'modf', 'nan', 'nextafter', 'perm', 'pi', 'pow', 'prod', 'radians', 'remainder', 'sin', 'sinh', 'sqrt', 'sumprod', 'tan', 'tanh', 'tau', 'trunc', 'ulp']
>>>help(math.factorial)
Help on built-in function factorial in module math:
factorial(n, /)
Find n!.
>>>math.factorial(5)
120
>>>help(math.degrees)
Help on built-in function degrees in module math:
degrees(x, /)
Convert angle x from radians to degrees.
>>>help(math.ceil)
Help on built-in function ceil in module math:
ceil(x, /)
Return the ceiling of x as an Integral.
This is the smallest integer >= x.
```
sin - считает и выдает синус аргумента в радианах;
```py
>>>math.sin(180)
-0.8011526357338304
```
acos - считает и выдает арккосинус аргумента в радианах;
```py
>>>math.acos(0.5)
1.0471975511965979
```
degrees - переводит число в радианах в градусы;
```py
>>>math.degrees(0.5)
28.64788975654116
```
radians - переводит число в градусах в радианы;
```py
>>>math.radians(28)
0.4886921905584123
```
exp - выдает значение числа e возведенного в степень, которая указана в аргументе;
```py
>>>math.exp(1)
2.718281828459045
```
log - считает натуральный логарифм числа;
log10 - считает делятичный логарифм числа;
```py
>>>math.log(1)
0.0
>>>math.log10(1)
0.0
```
sqrt - считает корень из числа в аргументе;
```py
>>>math.sqrt(9)
3.0
```
ceil - округляет число вверх;
floor - округляет число вниз;
```py
>>>math.ceil(4.7)
5
>>>math.floor(4.7)
4
```
pi - данная функция является представлением числа пи в питоне.
```py
>>>math.pi
3.141592653589793
```
Вычисление значения функции sin(2π/7+e0.23 ):
```py
>>>math.sin(2*math.pi/7+math.exp(0.23))
0.8334902641414562
```
## 4 Изучение модуля cmath для работы с комплексными числами
Был импортирован и изучен модуль cmath и применены функции для извлечения корня и расчета фазы комплексного числа.
```py
>>>import cmath
>>>dir(cmath)
['__doc__', '__loader__', '__name__', '__package__', '__spec__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atanh', 'cos', 'cosh', 'e', 'exp', 'inf', 'infj', 'isclose', 'isfinite', 'isinf', 'isnan', 'log', 'log10', 'nan', 'nanj', 'phase', 'pi', 'polar', 'rect', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'tau']
>>>cmath.sqrt(1.2-0.5j)
(1.118033988749895-0.22360679774997896j)
>>>cmath.phase(1-0.5j)
-0.4636476090008061
```
## 5 Изучения стандартного модуля randon для работы с псевдослучайными числами
Модуль random – совокупность функций для выполнения операций с псевдослучайными числами и выборками.
Были самостоятельно изучены и применены методы модуля random:
random - равномерно распределенное случайное число;
uniform- равномерно распределенное случайное число в диапазоне, заданном двумя аргументами;
randint - случайные целые числа в диапазоне от значения первого аргумента до значения второго;
gauss - нормально распределенное случайное число с средним равным певому аргументу и стандартным отклонением равным второму аргументу;
choice - случайный выбор из совокупности указанной в аргументе;
shuffle - случайная перестановка элементов списка в аргументе;
sample - случайный выбор подмножества элементов из списка в первом аргументе (количество элементов равно числу, указанному во втором аргументе);
betavariate - случайное число с бета-распределением, где альфа равна первому аргументу, а бета равна второму аргументу;
gammavariate - случайное число с гамма-распределением, где альфа равна первому аргументу, а бета равна второму аргументу.
Также был самостоятельно создан список с 4 случайными значениями, подчиняющимися, соответственно, равномерному, нормальному, бета и гамма – распределениям и с любыми допустимыми значениями параметров этих распределений.
```py
>>>import random
>>>dir(random)
['BPF', 'LOG4', 'NV_MAGICCONST', 'RECIP_BPF', 'Random', 'SG_MAGICCONST', 'SystemRandom', 'TWOPI', '_ONE', '_Sequence', '__all__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', '_accumulate', '_acos', '_bisect', '_ceil', '_cos', '_e', '_exp', '_fabs', '_floor', '_index', '_inst', '_isfinite', '_lgamma', '_log', '_log2', '_os', '_parse_args', '_pi', '_random', '_repeat', '_sha512', '_sin', '_sqrt', '_test', '_test_generator', '_urandom', 'betavariate', 'binomialvariate', 'choice', 'choices', 'expovariate', 'gammavariate', 'gauss', 'getrandbits', 'getstate', 'lognormvariate', 'main', 'normalvariate', 'paretovariate', 'randbytes', 'randint', 'random', 'randrange', 'sample', 'seed', 'setstate', 'shuffle', 'triangular', 'uniform', 'vonmisesvariate', 'weibullvariate']
>>>help(random.seed)
Help on 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.
>>>random.seed() # Использует текущее время системы
# Каждый запуск программы даст разные последовательности
# Фиксированное начальное значение
# Всегда одинаковая последовательность для тестов
>>>r = random.random() #случайное число от 0.0 до 1.0
>>>r
0.915829800247012
>>>u = random.uniform(1, 10) #равномерное распределение на интервале [a, b]
>>>u
6.398971726523061
>>>rnd = random.randint(1, 10) # случайное целое число от a до b (включительно)
>>>rnd
3
>>>g = random.gauss(0, 1) # - нормальное распределение(ср, ст откл)
>>>g
1.6312864971445826
>>>l = ["a", "b", "c"]
>>>ch = random.choice(l) # случайный элемент из последовательности
>>>ch
'b'
>>>random.shuffle(l) # перемешивает список на месте
>>>l
['b', 'a', 'c']
>>>s = random.sample(l, 2) # выбирает k уникальных элементов
>>>s
['c', 'b']
>>>b = random.betavariate(2, 5) # бета-распределение
>>>b
0.20276652629326136
>>>g = random.gammavariate(2, 2) # гамма-распределение
>>>g
4.361266204290336
>>>random_list = [random.uniform(1, 10), random.gauss(5, 2), random.betavariate(2, 5), random.gammavariate(2, 2)]
>>>random_list
[1.8429009082320071, 5.582736307655225, 0.21284691290111155, 2.9271296316078654]
```
## 6 Изучение модуля time для работы со временем и календарями
Были изучены и применены методы из модуля time:
time - возвращает время в секундах, прошедшее с начала эпохи, за которое обычно принимается 1.01.1970г;
gmtime - возвращает объект класса struct_time, содержащий полную информацию о текущем времени (UTC): год (tm_year), месяц (tm_mon), день tm_mday)...;
localtime - для получения «местного» времени (которое стоит на компьютере);
asctime - преобразовывает представление времени из кортежа в строку (просто отображает время в формате строки);
ctime - преобразовывает время в секундах, прошедшего с начала эпохи, в строку;
sleep - прерывает работу программы на заданное время в секундах;
mktime - преобразовает время из типа кортежа или struct_time в число секунд с начала эпохи.
```py
>>>import time
>>>dir(time)
['_STRUCT_TM_ITEMS', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'altzone', 'asctime', 'ctime', 'daylight', 'get_clock_info', 'gmtime', 'localtime', 'mktime', 'monotonic', 'monotonic_ns', 'perf_counter', 'perf_counter_ns', 'process_time', 'process_time_ns', 'sleep', 'strftime', 'strptime', 'struct_time', 'thread_time', 'thread_time_ns', 'time', 'time_ns', 'timezone', 'tzname']
>>>c1=time.time()
>>>c1
1757585123.0268378
>>>c1=time.time() #Для проверки заново применили функцию спустя 14 секунд.
>>>c1
1757585137.4425445
>>>c2=time.time()-c1
>>>c2
272.143741607666
>>>dat=time.gmtime()
>>>dat
time.struct_time(tm_year=2025, tm_mon=9, tm_mday=11, tm_hour=10, tm_min=13, tm_sec=29, tm_wday=3, tm_yday=254, tm_isdst=0) #день недели день года летнее время
>>>dat.tm_mon
9
>>>tim=time.localtime() #местное
>>>tim
time.struct_time(tm_year=2025, tm_mon=9, tm_mday=11, tm_hour=12, tm_min=15, tm_sec=7, tm_wday=3, tm_yday=254, tm_isdst=0)
>>>time.asctime() #из кортежа в строку
'Thu Sep 11 12:16:36 2025'
>>>time.ctime()
'Thu Sep 11 12:16:57 2025'
>>>time.sleep(2) #Две секунды в IDLE не появлялось приглашение для ввода команды.
>>>time.mktime(tim)
1757585707.0
>>>time.localtime(c1)
time.struct_time(tm_year=2025, tm_mon=9, tm_mday=11, tm_hour=12, tm_min=5, tm_sec=37, tm_wday=3, tm_yday=254, tm_isdst=0)
```
## 7 Изучение графических функций
Был создан линейный график, на котором изображена зависимость сигналов от времени.
```py
>>>import pylab
>>>x=list(range(-3,55,4))
>>>x
[-3, 1, 5, 9, 13, 17, 21, 25, 29, 33, 37, 41, 45, 49, 53]
>>>t=list(range(15))
>>>t
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
>>>pylab.plot(t,x) #Создание графика в оперативной памяти
[<matplotlib.lines.Line2D object at 0x0000022B3EEDAD50>]
>>>pylab.title('Первый график')
Text(0.5, 1.0, 'Первый график')
>>>pylab.xlabel('время')
Text(0.5, 0, 'время')
>>>pylab.ylabel('сигнал')
Text(0, 0.5, 'сигнал')
>>>pylab.show() #Отображение графика на экране
```
![](4.1.png)
Были созданы два линейных графика на одном поле. (По оси y - значения из списка, по оси х - порядковый номер значений).
```py
>>>X1=[12,6,8,10,7]
>>>X2=[5,7,9,11,13]
>>>pylab.plot(X1)
[<matplotlib.lines.Line2D object at 0x0000022B3EFEB890>]
>>>pylab.plot(X2)
[<matplotlib.lines.Line2D object at 0x0000022B3EFEB9D0>]
>>>pylab.show()
```
![](4.2.png)
Также была создана круговая диаграмма.
```py
>>>region=['Центр','Урал','Сибирь','Юг'] #Метки для диаграммы
>>>naselen=[65,12,23,17] # Значения для диаграммы
>>>pylab.pie(naselen,labels=region) #Создание диаграммы в памяти
([<matplotlib.patches.Wedge object at 0x0000022B3EEAE3C0>, <matplotlib.patches.Wedge object at 0x0000022B42875590>, <matplotlib.patches.Wedge object at 0x0000022B42875950>, <matplotlib.patches.Wedge object at 0x0000022B42875BD0>], [Text(-0.191013134139045, 1.0832885038559115, 'Центр'), Text(-0.861328292412156, -0.6841882582231001, 'Урал'), Text(0.04429273995539947, -1.0991078896938387, 'Сибирь'), Text(0.9873750693480946, -0.48486129194837324, 'Юг')])
>>>pylab.show() #Отображение диаграммы
```
![](4.3.png)
Самостоятельно была создана гистограмма (по оси у - частота повторения значений, по оси х сами значения)
```py
>>>data = [1, 2, 3, 3, 2, 3, 3, 3, 2]
>>>pylab.hist(data, bins=3)
(array([1., 3., 5.]), array([1. , 1.66666667, 2.33333333, 3. ]), <BarContainer object of 3 artists>)
>>>pylab.title("Гистограмма")
Text(0.5, 1.0, 'Гистограмма')
>>>pylab.show()
```
![](4.4.png)
Самостоятельно была создана столбиковая диаграмма, где по оси х - категории, а по оси у - значения, относящиеся к каждой категории.
```py
>>>c = ['A', 'B', 'C', 'D']
>>>v = [25, 40, 30, 50]
>>>pylab.bar(c, v)
<BarContainer object of 4 artists>
>>>pylab.title("Столбиковая диаграмма")
Text(0.5, 1.0, 'Столбиковая диаграмма')
>>>pylab.show()
```
![](5.5.png)
## 8 Изучение модуля statistics для работы в сфере статистики
Самостоятельно был импортирован и изучен модуль statistics. Из него были использованы функции подсчета среднего значения, медианы и моды для выборки в списке.
```py
>>>import statistics
>>>dir(statistics)
['Counter', 'Decimal', 'Fraction', 'LinearRegression', 'NormalDist', 'StatisticsError', '_SQRT2', '__all__', '__annotations__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', '_coerce', '_convert', '_decimal_sqrt_of_frac', '_exact_ratio', '_fail_neg', '_float_sqrt_of_frac', '_integer_sqrt_of_frac_rto', '_isfinite', '_kernel_invcdfs', '_mean_stdev', '_newton_raphson', '_normal_dist_inv_cdf', '_quartic_invcdf', '_quartic_invcdf_estimate', '_random', '_rank', '_sqrt_bit_width', '_sqrtprod', '_ss', '_sum', '_triweight_invcdf', '_triweight_invcdf_estimate', 'acos', 'asin', 'atan', 'bisect_left', 'bisect_right', 'correlation', 'cos', 'cosh', 'count', 'covariance', 'defaultdict', 'erf', 'exp', 'fabs', 'fmean', 'fsum', 'geometric_mean', 'groupby', 'harmonic_mean', 'hypot', 'isfinite', 'isinf', 'itemgetter', 'kde', 'kde_random', 'linear_regression', 'log', 'math', 'mean', 'median', 'median_grouped', 'median_high', 'median_low', 'mode', 'multimode', 'namedtuple', 'numbers', 'pi', 'pstdev', 'pvariance', 'quantiles', 'random', 'reduce', 'repeat', 'sin', 'sqrt', 'stdev', 'sumprod', 'sys', 'tan', 'tau', 'variance']
>>>data = [1, 2, 2, 3, 4, 5, 5, 5, 6]
>>>mean = statistics.mean(data)
>>>mean
3.6666666666666665
>>>median = statistics.median(data)
>>>median
4
>>>mode = statistics.mode(data)
>>>mode
5
```
## 9 Завершение работы в IDLE
Был завершен сеанс в среде IDLE.

@ -0,0 +1,74 @@
# Общее контрольное задание по теме 4
Анисенков Павел, А-01-23
## Задание
Реализовать, записать в текстовый файл и проанализировать результаты последовательности инструкций, выполняющих следующие действия:
• Напишите и исполните единое выражение, реализующее последовательное выполнение следующих операций: вычисление фазы комплексного числа 0.2+0.8j, округление результата до двух знаков после запятой, умножение полученного значения на 20, получение кортежа из двух значений: округленное вниз значение от деления результата на 3 и остатка от этого деления.
• Создайте объект класса struct_time с временными параметрами для текущего московского времени. Создайте строку с текущим часом и минутами.
• Создайте список с элементами – названиями дней недели. Сделайте случайную выборку из этого списка с тремя днями недели.
• Напишите инструкцию случайного выбора числа из последовательности целых чисел от 14 до 32 с шагом 3.
• Сгенерируйте нормально распределенное число N с математическим ожиданием 15 и стандартным отклонением 4 и округлите его до целого значения. Создайте список с N элементами – случайно выбранными буквами латинского алфавита.
• Напишите инструкцию для определения временного интервала в минутах, прошедшего с момента предыдущего (из п.2) определения временных параметров.
## Решение
```py
# Комплексное число и операции
import math
import cmath
import time
import random
divmod(round(cmath.phase(0.2+0.8j),2)*20,3)
(8.0, 2.6000000000000014)
# Текущее московское время
moscow_time = time.time()
moscow_time
1760944817.0515099
mos_real = moscow_time+3*3600
mos_real = time.gmtime(mos_real)
mos_real
time.struct_time(tm_year=2025, tm_mon=10, tm_mday=20, tm_hour=10, tm_min=20, tm_sec=17, tm_wday=0, tm_yday=293, tm_isdst=0)
current_time_str = str(mos_real.tm_hour)+" h "+str(mos_real.tm_min)+" min "
current_time_str
'10 h 20 min '
# Случайная выборка дней недели
dni = ['пн', 'вт', 'ср', 'чт', 'пт', 'сб', 'вск']
random_days = random.sample(dni, 3)
random_days
['вт', 'пт', 'вск']
# Случайный выбор числа из последовательности
chisl = list(range(14, 33, 3))
randome = random.choice(chisl)
randome
20
# Генерация нормально распределенного числа и списка букв
N = round(random.gauss(15, 4))
N
18
import string
random.sample(string.ascii_letters, N)
['g', 'y', 'r', 'D', 'O', 'x', 'k', 'U', 'w', 'n', 'X', 'e', 'M', 'T', 'I', 'p', 'N', 'W']
# Временной интервал в минутах
interval = math.floor((time.time()+3*3600 - (moscow_time+3*3600))/60)
interval
7
```

@ -0,0 +1,26 @@
# Индивидуальное контрольное задание по теме 4
Анисенков Павел, А-01-23
## Задание 7
Создайте кортеж с 4 случайными числами, равномерно распределенными на интервале от 4.5 до 18.8. Реализуйте инструкцию случайного выбора одного из элементов кортежа. Отобразите его по шаблону: «Выбран элемент <значение> с индексом <индекс>».
## Решение
```py
import random
def one_number():
return round(random.uniform(4.5, 18.8), 2)
# Создаем кортеж используя map с итерируемым объектом из 4 элементов
numbers = tuple(map(lambda x: one_number(), [None]*4))
numbers
(13.26, 12.09, 13.92, 14.5)
# Случайный выбор
el = random.choice(numbers)
13.26
ind = numbers.index(el)
0
print(f"Выбран элемент {el} с индексом {ind}")
Выбран элемент 13.26 с индексом 0
```
Загрузка…
Отмена
Сохранить