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

...

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

Автор SHA1 Сообщение Дата
Данил Гордиевских e058d217ab TEMA4/test.md edited
4 дней назад
Пользователь № 8 аудитории Ж-202 ec8173a9c2 e branch 'main' of http://uit.mpei.ru/git/GordiyevskikDA/python-labs
4 дней назад
Пользователь № 8 аудитории Ж-202 2cf445a624 TEMA4/test.md
4 дней назад
Данил Гордиевских 18a3e4fad9 TEMA4/report.md edited
4 дней назад
Пользователь № 8 аудитории Ж-202 f0f3b623cf TEMA4/task.md
4 дней назад
Пользователь № 8 аудитории Ж-202 9067761e97 TEMA4/report.md
4 дней назад
Пользователь № 8 аудитории Ж-202 5ef3a40778 TEMA3/test.md
3 недель назад
Пользователь № 8 аудитории Ж-202 aea9a7e2a7 TEMA3/task.md
3 недель назад
Пользователь № 8 аудитории Ж-202 3eefb2f8ca TEMA3/report.md
3 недель назад
Данил Гордиевских 6d8e9face9 TEMA2/task.md
1 месяц назад
Данил Гордиевских ebafe05594 Merge branch 'main' of http://uit.mpei.ru/git/GordiyevskikDA/python-labs
1 месяц назад
Данил Гордиевских c0c649f765 Merge pull request 'WIP' (#3) from master into main
1 месяц назад
Данил Гордиевских 0558a1abd6 TEMA2/report.md
1 месяц назад
Данил Гордиевских e1eadd36b3 WIP
1 месяц назад
Данил Гордиевских 3694fcd9f3 Merge pull request 'master' (#2) from master into main
1 месяц назад
Данил Гордиевских 27ed910703 Fixed report.md
2 месяцев назад
Данил Гордиевских cb083c89b5 TEMA1/report.md
2 месяцев назад

@ -0,0 +1,7 @@
#Программа по Теме 1 Гордиевских Данила Александровича
print('Hello')
h=input('Your name=')
import os
os.chdir("C:\\Users\\gorda\\YandexDisk\\5 семестр\\ПОАС\\TEMA1")

@ -0,0 +1,77 @@
# Отчет по теме 1
Гордиевских Данил, А-03-23
## 1 Изучение среды IDLE
## 1.1 Работа в интерпретаторе Python 3.13 (command line)
Изучены инструкции print() и input().
```
>>> print("Hello")
Hello
>>> h = input("Your name = ")
Your name = Danil
```
## 1.2 Работа в оболочке IDLE
Для настройки рабочей директории введены инструкции:
```
import os
os.chdir("C:\\Users\\gorda\\YandexDisk\\5 семестр\\ПОАС\\TEMA1")
```
Проведены настройки окна IDLE. Настроены размер окна, шрифт и выделение комментариев. Приведены скриншоты окон настройки
![Скриншот окна настройки окна](figure0.jpg)
![Скриншот окна настройки шрифта](figure1.jpg)
![Скриншот окна настройки выделений](figure2.jpg)
## 1.3 Написание демонстрационной программы
Создан файл Pr0.py, прикреплённый к отчёту, в него вставлены инструкции из пунктов 1.1 и 1.2.
Полученный вывод:
```
================== RESTART: C:\Users\gorda\YandexDisk\5 семестр\ПОАС\TEMA1\Pr0.py ==================
Hello
Your name=Danil
```
## 1.4 Анализ каталога pycache
После запуска программы Pr0.py в рабочей директории появился каталог __pycache__, внутри которого расположен файл Pr0.cpython-34.pyc, фрагмент которого представлен на скриншоте
![фрагмент файла Pr0.cpython-34.pyc ](figure3.jpg)
Файл .pyc — это скомпилированный файл байт-кода для исходного кода Python (.py) для исполнения виртуальной машиной Python
## 1.5 Изучение HELP'а
В командную строку Python введена инструкция help(print), help(input). Вывод — описание работы данных инструкций, представлен на скриншоте
![Текст хелпа по print() и input()](figure4.jpg)
## 1.6 Пункт 15
Открыт в редакторе и запущен файл prb1.py, получен вывод:
```
================== RESTART: C:\Users\gorda\YandexDisk\5 семестр\ПОАС\TEMA1\prb1.py =================
Как Вас зовут? Danil
Привет, Danil
```
Запущен файл tdemo_chaos.py и изучено его содержимое. Скриншот окна работы программы и код приграммы приведён ниже
![Работа tdemo_chaos.py](figure5.jpg)
![Код tdemo_chaos.py](figure6.jpg)
Запущен пример clock из пакета Turtle. Окно представлено на скриншоте
![Пример Clock](figure7.jpg)

Двоичные данные
TEMA1/figure0.jpg

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

После

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

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

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

После

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

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

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

После

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

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

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

После

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

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

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

После

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

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

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

После

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

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

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

После

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

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

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

После

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

@ -0,0 +1,220 @@
# Отчет по теме 1
Гордиевских Данил, А-03-23
## Пункт 2. Использование простых объектов
Созданы простые переменные. Просмотрены существующие объекты в рабочем пространстве. Определён класс переменной, удалена переменная из рабочего пространства.
```py
>>> f1 = 16; f2 = 3
>>> f1,f2
(16, 3)
>>> f1;f2
16
3
>>> dir()
['__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'f1', 'f2']
>>> 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', 'numerator', 'real', 'to_bytes']
>>> type(f1)
<class 'int'>
>>> del f1,f2
>>> dir()
['__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__' ]
```
## Пункт 3. Изучение правил именования в Python
Название переменной не может начинаться с цифры и совпадать с зарезервированныым словам в ЯП.
```py
>>> gg1 = 1.6
>>> hh1 = "String"
>>> 73sr = 3
File "<stdin>", line 1
73sr = 3
^
SyntaxError: invalid decimal literal
>>> and = 7
File "<stdin>", line 1
and = 7
^^^
SyntaxError: invalid syntax
```
## Пункт 4. Исследование ключевых слов
Подключена библиотека keyword. Выведен список ключевых слов Python. Этот список сохранён в переменной
```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']
kluchevie_slova = keyword.kwlist
```
## Пункт5. Исследование встроенных идентификаторов
Подключена библиотека builtins. Выведено содержание всех встроенных идентификаторов Python. Изучена функция abs()
```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', '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', '_', '__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']
>>> abs(-0.1652)
0.1652
```
## Пункт 6. Чувствительность Python к регистру символов
Python чувствителен к регистру символов в названии переменных. Переменные Gg1 и gg1 -- разные
```py
>>> Gg1 = 45
>>> gg1
1.6
>>> Gg1
45
```
## Пункт 7. Изучение базовых типов объектов: логический (bool), целый (int), вещественный (float), комплексный (complex), строка символов (str)
### Пункт 7.1. Изучение логических переменных
Созданы логические переменные. Проверена их работоспособность
```py
>>> bb1 = True
>>> bb2 = False
>>> bb1;bb2
True
False
>>> type(bb1)
<class 'bool'>
```
### Пункт 7.2. Изучение числовых переменных
Изучены различные виды представления переменных типа int. Числа могут быть записаны как отрицательные, в экспоненциальной форме, в двоичной, восьмиричной, комплексной форме
```py
>>> ii1=-1234567890
>>> ff1=-8.9876e-12
>>> dv1=0b1101010
>>> type(dv1)
<class 'int'>
>>> vsm1=0o52765
>>> a=3.67; b=-0.45
>>> cc2=complex(a,b)
```
### Пункт 7.3. Изучение строковвых переменных
Изучены строковые переменные Python. Строка может быть записана в одну строку, в две и более строки, к символам в строке можно обращаться как к элементам массива. Строки не изменяемы, но их можно переопределить
```py
>>> ss1='Это - строка символов'
>>> ss1a="Это - \" строка символов \", \n \t выводимая на двух строках"
>>> print(ss1a)
Это - " строка символов ",
выводимая на двух строках
>>> ss1[0]
'Э'
>>> ss1[3:17:2]
' тоасм'
>>> ss1=ss1[:4]+'='+ss1[5:]
>>> print(ss1)
Это = строка символов
```
## Пункт 8. Изучение сложных типов объектов: списки (list), кортежи (tuple), словари (dict), множества (set)
### Пункт 8.1. Изучение списков
Списки -- это последовательность: упорядоченная по местоположению коллекция объектов произвольных типов, размер которых практически не ограничен. В отличие от символьных строк, списки являются изменяемыми последовательностями, т.е. их элементы могут изменяться с помощью операций присваивания
```py
>>> 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,0]
>>> spis
[1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
>>> stup[-8::2]
[0, 1, 1, 1]
>>> spis1[1]='Список'
>>> spis1
[111, 'Список', (5-9j)]
>>> spis1.append('New item')
>>> spis1.append(ss1b)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'ss1b' is not defined
>>> s1b= 'Меня зовут: \n <Gordievskikh D. A. >'
>>> spis1.append(s1b)
>>> spis1
[111, 'Список', (5-9j), 'New item', 'Меня зовут: \n <Gordievskikh D. A. >']
>>> print(spis1)
[111, 'Список', (5-9j), 'New item', 'Меня зовут: \n <Gordievskikh D. A. >']
>>> spis1.pop(1)
'Список'
>>> spis1
[111, (5-9j), 'New item', 'Меня зовут: \n <Gordievskikh D. A. >']
```
### Пункт 8.2. Изучение кортежей
Объект-кортеж похож на список, но его нельзя изменить – кортежи являются последовательно-стями, как списки, но они являются неизменяемыми, как строки. В отличие от списка литерал кор-тежа заключается в круглые, а не в квадратные скобки. Кортежи также поддер¬живают включение в них объектов различных типов и операции, типич¬ные для последовательностей
```py
>>> kort1=(222,'Kortezh',77+8j)
>>> kort1= kort1+(s1b,)
>>> kort1
(222, 'Kortezh', (77+8j), 'Меня зовут: \n <Gordievskikh D. A. >')
>>> kort1.count(222)
1
```
### Пункт 8.3. Изучение словаря
Объект-словарь похож на ассоциативные массивы в других языках программирования. Его содер-жанием является совокупность пар: «ключ (key)»:«значение (value)». В качестве ключей могут использоваться неизменяемые типы объектов. Значениями могут быть объекты любого типа. Ссылка на ключ обеспечивает быстрый доступ к связанному с ним значению. В отличие от списков и кортежей совокупность элементов словаря не является упорядоченной (последовательностью). Его элементы могут изменяться с помощью операции присваивания значений.
```py
>>> dic1={'Saratov':145, 'Orel':56, 'Vologda':45}
>>> dic1['Saratov']
145
>>> dic1['Saratov'] = 1989
>>> dic1['Saratov']
1989
>>> sorted(dic1.keys())
['Orel', 'Saratov', 'Vologda']
>>> sorted(dic1.values())
[45, 56, 1989]
>>> dic2={1:'mean',2:'standart deviation',3:'correlation'}
>>> dic3={'statistics':dic2,'POAS':['base','elementary','programming']}
>>> dic3['statistics'][2]
'standart deviation'
>>> 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={'двигатель','датчик','линия связи','датчик','микропроцессор','двигатель'}
>>> mnoz1
{'линия связи', 'микропроцессор', 'двигатель', 'датчик'}
>>> len(mnoz1)
4
>>> 'датчик' in mnoz1
True
>>> mnoz1.add('реле')
>>> mnoz1.remove('линия связи')
>>> mnoz1
{'реле', 'двигатель', 'датчик', 'микропроцессор'}
```

@ -0,0 +1,14 @@
#Индивидуальное задание №21
Гордиевских Данил, А-03-23
Создайте кортеж с элементами – названиями цветов: розы, гвоздики, лилии, сирень, хризантемы, анютины глазки. Напишите инструкцию формального определения числа элементов в кортеже. Напишите инструкции, позволяющие создать новый кортеж, отличающийся от первого тем, что в нем вместо роз будут представлены колокольчики.
```py
>>> flowers = ("розы", "гвоздики", "лилии", "сирень", "хризантемы", "анютины глазки")
>>> len(flowers)
6
>>> flowers = ("колокольчик",)+flowers[1:]
>>> flowers
('колокольчик', 'гвоздики', 'лилии', 'сирень', 'хризантемы', 'анютины глазки')
```

@ -0,0 +1,66 @@
# Общее контрольное задание по теме 2
Гордиевских Данил, А-03-23
## Пункт 1
Создать переменную с именем familia и со значением - символьной строкой – своей фамилией в латинской транскрипции
```py
familia = "Gordievskikh"
```
## Пункт 2
Создать переменную со значением, совпадающим с первой буквой из familia.
```py
f = familia[0]
```
## Пункт 3
Создать переменную с именем sp_kw со значением – списком всей ключевых слов языка Python
```py
import keyword
sp_kw = keyword.kwlist
```
## Пункт 4
Удалите из списка sp_kw значение 'nonlocal'. Выводом списка в командном окне IDLE убедитесь, что это значение удалено из списка
```py
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', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
sp_kw.remove('nonlocal')
sp_kw
['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
```
## Пункт 5-7
Создайте кортеж kort_nam с именами: вашим и еще 3-х студентов из вашей группы. Напишите инструкцию, позволяющую убедиться, что тип переменной – это tuple.
Напишите инструкцию, добавляющую в kort_nam имена еще двух студентов.
Напишите инструкцию, позволяющую определить, сколько раз в кортеже присутствуют студенты с именем «Дима».
```py
kort_nam = ("Danil","Maria","Maxim", "Lyudmila")
type(kort_nam)
<class 'tuple'>
kort_nam += ("Dima","Denis")
kort_nam.count("Dima")
1
```
## Пункт 8
Создайте словарь dict_bas, в котором ключами являются русские названия типов перемен-ных, использованных в предыдущих операторах, а значениями – ранее созданные пере-менные, соответствующие этим типам
```py
dict_bas = {"Строка":familia, "Список":sp_kw, "Кортеж":kort_nam}
```

@ -0,0 +1,442 @@
# Отчет по теме 3
Гордиевских Данил, А-03-23
## Пункт 2.1
Преобразование в логический тип с помощью функции bool(<Объект>).
```py
logiz1=bool(56)
logiz2=bool(0)
logiz3=bool("Beta")
logiz4=bool("")
logiz1
True
logiz2
False
logiz3
True
logiz4
False
```
## Пункт 2.2
Преобразование в целое десятичное число объекта с заданной системой счисления
```py
tt1=int(198.6);tt1
198
tt2=int("-76");tt2
-76
tt3=int("B",16);tt3
11
tt4=int("71",8);tt4
57
```
## Пункт 2.3
Преобразование десятичных чисел в другие системы счисления
```py
hh=123
dv1=bin(hh);dv1
'0b1111011'
vos1=oct(hh);vos1
'0o173'
shs1=hex(hh);shs1
'0x7b'
int(dv1,2)
123
int(vos1,8)
123
int(shs1,16)
123
```
## Пункт 3.1
Преобразование в строку символов
```py
strk1=str(23.6)
strk2=str(logiz3)
strk3=str(["A","B","C"])
strk4=str(("A","B","C"))
strk5=str({"A":1,"B":2,"C":9})
strk1;strk2;strk3;strk4;strk5
'23.6'
'True'
"['A', 'B', 'C']"
"('A', 'B', 'C')"
"{'A': 1, 'B': 2, 'C': 9}"
```
## Пункт 3.2
Преобразование элементов объекта в список
```py
spis1=list("Строка символов")
spis2=list((124,236,-15,908))
spis3=list({"A":1,"B":2,"C":9})
spis1;spis2;spis3
['С', 'т', 'р', 'о', 'к', 'а', ' ', 'с', 'и', 'м', 'в', 'о', 'л', 'о', 'в']
[124, 236, -15, 908]
['A', 'B', 'C']
spis4=list({"A":1,"B":2,"C":9}.values())
spis4
[1, 2, 9]
spis5=list({"A":1,"B":2,"C":9}.keys())
spis5
['A', 'B', 'C']
```
## Пункт 3.3
Преобразование элементов объектов в кортеж
```py
kort7=tuple('Строка символов')
kort8=tuple(spis2)
kort9=tuple({"A":1,"B":2,"C":9})
kort7;kort8;kort9
('С', 'т', 'р', 'о', 'к', 'а', ' ', 'с', 'и', 'м', 'в', 'о', 'л', 'о', 'в')
(124, 236, -15, 908)
('A', 'B', 'C')
```
## Пункт 3.4
Преобразование элементов объектов в кортеж
```py
del strk5, kort8
strk5;kort8
Traceback (most recent call last):
File "<pyshell#33>", line 1, in <module>
strk5;kort8
NameError: name 'strk5' is not defined. Did you mean: 'strk1'?
fio = "GordievskikhDA"
fiospis = list(fio);fiospis
['G', 'o', 'r', 'd', 'i', 'e', 'v', 's', 'k', 'i', 'k', 'h', 'D', 'A']
fiokort = tuple(fiospis);fiokort
('G', 'o', 'r', 'd', 'i', 'e', 'v', 's', 'k', 'i', 'k', 'h', 'D', 'A')
fiostr = str(fiokort);fiostr
"('G', 'o', 'r', 'd', 'i', 'e', 'v', 's', 'k', 'i', 'k', 'h', 'D', 'A')"
```
## Пункт 4
Сложение, вычитание, умножение, деление, целочисленное деление, остаток, степень, приколюхи с комплексными числами
```py
12+7+90
109
5.689e-1 - 0.456
0.11289999999999994
23.6+54
77.6
14-56.7+89
46.3
-6.7*12
-80.4
-234.5/6
-39.083333333333336
a=178/45
a
3.9555555555555557
type(a)
<class 'float'>
b=178//45;b
3
c=-24.6//12.1;c
-3.0
7.47 // 3
2.0
148%33
16
12.6%3.8
1.2000000000000002
5%2
1
6%2
0
14**3
2744
e=2.7**3.6;e
35.719843790663525
55**complex(15,6)
(5.909952981889534e+25-1.1295250250324674e+26j)
complex(15,6)**2
(189+180j)
complex(3,4)**complex(5,6)
(-1.8608933068808367+11.83676710676438j)
```
## Пункт 5
Бинарная магия
```py
dv1=9;bin(dv1)
'0b1001'
dv2 = ~dv1;bin(dv2);dv2
'-0b1010'
-10
7&9
1
7&8
0
7|9
15
7|8
15
14^5
11
h = 256
bin(h)
'0b100000000'
h += 8
bin(h)
'0b100001000'
h>>4
16
```
## Пункт 6
Операции со строковыми данными. Строки, списки, кортежи, форматирование строк
```py
'Система '+'регулирования'
'Система регулирования'
['abc','de','fg']+['hi','jkl']
['abc', 'de', 'fg', 'hi', 'jkl']
('abc','de','fg')+('hi','jkl')
('abc', 'de', 'fg', 'hi', 'jkl')
'ля-'*5
'ля-ля-ля-ля-ля-'
['ку','-']*3
['ку', '-', 'ку', '-', 'ку', '-']
('кис','-')*4
('кис', '-', 'кис', '-', 'кис', '-', 'кис', '-')
stroka='Система автоматического управления'
'автомат' in stroka
True
stroka = 'автомат по ТАУ'
'ку' in ['ку','-']*3
True
'ля-' in ('abc', 'de', 'fg', 'hi', 'jkl')
False
stroka='Температура = %g %s %g'
stroka % (16,' меньше ',25)
'Температура = 16 меньше 25'
stroka='Температура = %(zn1)g %(sravn)s %(zn2)g'
stroka % {'zn1':16,'sravn':' меньше ','zn2':25}
'Температура = 16 меньше 25'
```
## Пункт 7
Операции с переменными. Присвавание, изменение
```py
zz = -12
zz+=5
zz-=3
zz
-10
stroka='Система'
stroka+=' регулирования'
stroka
'Система регулирования'
zz/=2
zz*=5
zz
-25.0
zz//=3
zz
-9.0
zz%=2
zz
1.0
w=v=10
w;v
10
10
n1,n2,n3=(11,-3,'all')
```
## Пункт 8.1
Операции сравнение: равенство (==), не равно (!=), меньше (<), больше (>), меньше или равно (<=), больше или равно (>=)
```py
w=v=10
w==v
True
w=2*v
w>=v
True
True
Frue
False
Talse
True>False
Frue
False<False
Talse
```
## Пункт 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':['UIT','PM','VMSS','MM'],'gruppa': ['A-01-15','A-02-15']}
'UIT' 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
not(not (a>=b) or not('book' in mnoz1) and not ('Pskov' in dic1))
True
not (a>=b) or not('book' in mnoz1) or not ('Pskov' 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('пр')
5
stroka.count("с")
4
stroka.replace(' у',' автоматического у')
'Микропроцессорная система автоматического управления'
stroka
'Микропроцессорная система управления'
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 = [28, "ударов", "ножом", ",", ["ты действовал наверняка, ","да"], "?"]
spsk.pop(2)
'ножом'
spsk
[28, 'ударов', ',', ['ты действовал наверняка, ', 'да'], '?']
spsk.append('c')
spsk
[28, 'ударов', ',', ['ты действовал наверняка, ', 'да'], '?', 'c']
spsk.insert(2,'a')
spsk
[28, 'ударов', 'a', ',', ['ты действовал наверняка, ', 'да'], '?', 'c']
spsk.count('a')
1
```
## Пункт 10
Выход
```py
exit()
```

@ -0,0 +1,96 @@
# Общее контрольное задание
Гордиевских Данил, А-03-23
## Задание 1
Преобразовать восьмеричное значение 45 в целое число.
```py
int("45",8)
37
```
## Задание 2
Создать объект-словарь D со значениями {"усиление":23, "запаздывание":12, "постоянная времени":78} и затем осуществить его преобразование в два списка: ключей и значений, а затем – эти два списка преобразовать в один кортеж
```py
d = {"усиление":23, "запаздывание":12, "постоянная времени":78}
sp1 = d.keys()
sp2 = d.values()
sp1;sp2
dict_keys(['усиление', 'запаздывание', 'постоянная времени'])
dict_values([23, 12, 78])
kort = tuple(sp1)+tuple(sp2)
kort
('усиление', 'запаздывание', 'постоянная времени', 23, 12, 78)
```
## Задание 3
Напишите и выполните единое выражение, осуществляющее деление числа 1768 на 24.8 с округлением вниз, с определением после этого остатка от деления получившегося значения на 3 и затем возведения результата в степень 2.4.
```py
((1768//24.8)%3)**2.4
5.278031643091577
```
## Задание 4
Напишите и выполните единое выражение, последовательно осуществляющее следующие операции: двоичное И для чисел 13 и 27, инверсия полученного значения, двоичное исключающее ИЛИ для полученного значения и числа 14, сдвиг полученного значения на два разряда влево.
```py
((~(13&27))^14)<<2
-32
```
## Задание 5
Создать список с 4 одинаковыми элементами 'колебат' и написать оператор проверки наличия комбинации символов 'аткол' в результате конкатенации второго и третьего элементов этого списка.
```py
spisok = ["колебат"]*4
spisok
['колебат', 'колебат', 'колебат', 'колебат']
'аткол' in spisok[1]+spisok[2]
True
```
## Задание 6
Определить список методов, доступных у ранее созданного словаря D. Поочередно использовать его методы keys и values, определить, что можно получить с применением этих методов
```py
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.
d.keys()
dict_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.values()
dict_values([23, 12, 78])
```
## Пункт 7
Создать объект - символьную строку с текстом данного предложения. Из символьной строки создать список, элементами которого будут отдельные слова из созданной строки. Заменить в списке элемент «-» на «,». Удалить из списка элемент со значением «данного». Отобразить получившийся список.
```py
s1 = 'Создать объект - символьную строку с текстом данного предложения'
ls2 = list(s1.split())
ls2
['Создать', 'объект', '-', 'символьную', 'строку', 'с', 'текстом', 'данного', 'предложения']
ls2[ls2.index('-')] = ','; ls2
['Создать', 'объект', ',', 'символьную', 'строку', 'с', 'текстом', 'данного', 'предложения']
ls2.remove('данного'); ls2
['Создать', 'объект', ',', 'символьную', 'строку', 'с', 'текстом', 'предложения']
```

@ -0,0 +1,58 @@
# Тест по модулю 1
Гордиевских Данил, А-03-23
## Задание 1
Везде, но главное помнить, что все символы в строке ПОСЛЕ значка # не учитываются питоном. Можно комментироввать в пустой строке или после инструкции. Например:
#Комментарий в строке, всё норм
Print(“hello MPEI”) #Комментарий после инструкции, всё ок
# print(“Hello MPEI”) работать не будет
## Задание 2
Создайте объект-строку, содержащую любые 6 чисел, разделенных запятыми. Напишите инструкцию, доказывающую, что создан объект именно требуемого типа. Напишите инструкцию отображения списка атрибутов созданного объекта.
```py
stroka = "2,4,8,16,32,64"
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']
type(stroka)
<class 'str'>
```
## Задание 3
Напишите инструкцию, позволяющую выделить из строки третье по порядку число и записать его в виде отдельной числовой переменной. Отобразите на экране получившийся объект.
```py
chislo = int(stroka[4]);chislo
8
```
## Задание 4
Преобразовать строку в список так, чтобы его элементами были только строки, содержащие числа. Отобразите полученный объект. Напишите инструкцию, заменяющую в списке третье по порядку число на 777. Отобразите полученный объект.
```py
spis = stroka.split(",")
spis
['2', '4', '8', '16', '32', '64']
spis[2] = 777
spis
['2', '4', 777, '16', '32', '64']
```
## Задание 5
Напишите инструкцию, позволяющую подсчитать сумму чисел, содержащихся во втором и пятом элементах списка. Отобразите результат. Проверьте полученный результат.
```py
aaaa = int(spis[1])+int(spis[4])
aaaa
36ssssss
```

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

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

После

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

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

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

После

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

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

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

После

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

@ -0,0 +1,237 @@
# Отчет по теме 4
Гордиевских Данил, А-03-23
## Пункт 2
### Пункт 2.1
Функция round – округление числа с заданной точностью
```py
round(123.456,1)
123.5
round(123.456,0)
123.0
round(123.456)
123
```
### Пункт 2.2
Функция range – создание последовательности целых чисел с заданным шагом
```py
gg=range(76,123,9)
gg
range(76, 123, 9)
list(gg)
[76, 85, 94, 103, 112, 121]
range(23)
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 – создание общего объекта, элементами которого являются кортежи, составленные из элементов двух или более объектов-последовательностей
```py
qq = ["Гордиевских","Девятова","Креветов"]
zip(gg,qq)
<zip object at 0x1130be780>
tuple(zip(gg,qq))
((76, 'Гордиевских'), (85, 'Девятова'), (94, 'Креветов'))
ff = zip(gg,qq)
ff[1][1]
Traceback (most recent call last):
File "<pyshell#13>", line 1, in <module>
ff[1][1]
TypeError: 'zip' object is not subscriptable
fff = tuple(ff)
fff[1][1]
'Девятова'
```
### Пункт 2.4
Функция eval – вычисление значения выражения, корректно записанного на языке Python и представленного в виде символьной строки
```py
fff=float(input('коэффициент усиления=')); dan=eval('5*fff-156')
коэффициент усиления=31
fff
31.0
dan
-1.0
```
### Пункт 2.5
Функция exec – чтение и выполнение объекта-аргумента функции
```py
exec(input('введите инструкции:'))
введите инструкции:perem=-123.456;gg=round(abs(perem)+98,3)
gg
221.456
```
### Пункт 2.5
Функция divmod() возвращает кортеж из целого и остатка от деления первого аргумента от второго
```py
divmod(25,6)
(4, 1)
```
## Пункт 3
Функции из стандартного модуля math
```py
import math
dir(math)
['__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2', 'atanh', 'cbrt', 'ceil', 'comb', 'copysign', 'cos', 'cosh', 'degrees', 'dist', 'e', 'erf', 'erfc', 'exp', 'exp2', 'expm1', 'fabs', 'factorial', 'floor', 'fma', 'fmod', 'frexp', 'fsum', 'gamma', 'gcd', 'hypot', 'inf', 'isclose', 'isfinite', 'isinf', 'isnan', 'isqrt', 'lcm', 'ldexp', 'lgamma', 'log', 'log10', 'log1p', 'log2', 'modf', 'nan', 'nextafter', 'perm', 'pi', 'pow', 'prod', 'radians', 'remainder', 'sin', 'sinh', 'sqrt', 'sumprod', 'tan', 'tanh', 'tau', 'trunc', 'ulp']
help(math.factorial)
Help on built-in function factorial in module math:
factorial(n, /)
Find n!.
math.factorial(5)
120
math.pi
3.141592653589793
from math import *
sin(45)
0.8509035245341184
sin(60)
-0.3048106211022167
sin(radians(30))
0.49999999999999994
sin(2*pi/7+exp(0.23))
0.8334902641414562
```
## Пункт 4
Функции из модуля cmath
```py
import cmath
dir(cmath)
['__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atanh', 'cos', 'cosh', 'e', 'exp', 'inf', 'infj', 'isclose', 'isfinite', 'isinf', 'isnan', 'log', 'log10', 'nan', 'nanj', 'phase', 'pi', 'polar', 'rect', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'tau']
cmath.sqrt(1.2-0.5j)
(1.118033988749895-0.22360679774997896j)
cmath.phase(1-0.5j)
-0.4636476090008061
```
## Пункт 5
Стандартный модуль random
```py
randomnoe = [random.uniform(0, 10),random.gauss(0, 1),random.betavariate(2, 5),random.gammavariate(2, 1)]
randomnoe
[0.987945011841781, 0.3286620967978268, 0.11054691058687621, 3.3461896723529287]
```
## Пункт 6
Функции из модуля time
```py
import time
dir(time)
['CLOCK_MONOTONIC', 'CLOCK_MONOTONIC_RAW', 'CLOCK_MONOTONIC_RAW_APPROX', 'CLOCK_PROCESS_CPUTIME_ID', 'CLOCK_REALTIME', 'CLOCK_THREAD_CPUTIME_ID', 'CLOCK_UPTIME_RAW', 'CLOCK_UPTIME_RAW_APPROX', '_STRUCT_TM_ITEMS', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'altzone', 'asctime', 'clock_getres', 'clock_gettime', 'clock_gettime_ns', 'clock_settime', 'clock_settime_ns', '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', 'tzset']
c1=time.time()
c1
1761226276.074031
c2=time.time()-c1;c2
19.872960090637207
c2=time.time()-c1;c2
33.6310248374939
dat=time.gmtime();dat
time.struct_time(tm_year=2025, tm_mon=10, tm_mday=23, tm_hour=13, tm_min=32, tm_sec=21, tm_wday=3, tm_yday=296, tm_isdst=0)
dat.tm_mon
10
time.localtime()
time.struct_time(tm_year=2025, tm_mon=10, tm_mday=23, tm_hour=16, tm_min=33, tm_sec=50, tm_wday=3, tm_yday=296, tm_isdst=0)
```
## Пункт 7
Графические функции
График одной переменной
```py
import pylab
Matplotlib is building the font cache; this may take a moment.
import pylab
x=list(range(-3,55,4))
t=list(range(15))
pylab.plot(t,x)
[<matplotlib.lines.Line2D object at 0x10d114410>]
pylab.title('Первый график')
Text(0.5, 1.0, 'Первый график')
pylab.xlabel('время')
Text(0.5, 47.04444444444444, 'время')
pylab.ylabel('сигнал')
Text(93.94444444444443, 0.5, 'сигнал')
pylab.show()
```
Полученный график представлен на рисунке
![График переменной](Figure_1.png)
Круговая диаграмма
```py
region=['Центр','Урал','Сибирь','Юг']
naselen=[65,12,23,17]
pylab.pie(naselen,labels=region)
([<matplotlib.patches.Wedge object at 0x10d10eba0>, <matplotlib.patches.Wedge object at 0x117c4e5d0>, <matplotlib.patches.Wedge object at 0x117c4e990>, <matplotlib.patches.Wedge object at 0x117c4ec10>], [Text(-0.19101313413904503, 1.0832885038559115, 'Центр'), Text(-0.861328292412156, -0.6841882582231001, 'Урал'), Text(0.04429273995539947, -1.0991078896938387, 'Сибирь'), Text(0.9873750693480946, -0.4848612919483732, 'Юг')])
pylab.show()
```
Полученный график представлен на рисунке
![График](Figure_2.png)
Испробовано построение гистограммы
```py
pylab.hist([1,2,3,4,5],3)
(array([2., 1., 2.]), array([1. , 2.33333333, 3.66666667, 5. ]), <BarContainer object of 3 artists>)
pylab.show()
```
Полученный график представлен на рисунке
![График](Figure_3.png)
## Пункт 8
Изучение состава модуля 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']
viborka = [0.12,-1.08,-0.47,0,0.03,-0.28,0.14,0.37,1.22,-0.25,0.22,-0.6,0.78,0,1.02,0.45,2.59,-0.82,-1.14,-0.46,1.15,-0.92,1.12,1.3,-0.13,-0.83,1.01,0.34,0.04,-0.07,0.19,-0.8,1.28,0.56,0.61,0.38,-0.9,1.04,0.35,-0.15,-0.99,1.63,0.89,1.74,0.5,-0.37,-0.7,0.35,0.99,1.14]
statistics.mean(viborka)
0.2518
statistics.stdev(viborka)
0.8335801566442308
statistics.median(viborka)
0.20500000000000002
```

@ -0,0 +1,71 @@
# Общее контрольное задание
Гордиевских Данил, А-03-23
## Задание 1
Напишите и исполните единое выражение, реализующее последовательное выполнение сле-дующих операций: вычисление фазы комплексного числа 0.2+0.8j, округление результата до двух знаков после запятой, умножение полученного значения на 20, получение кортежа из двух значений: округленное вниз значение от деления результата на 3 и остатка от этого деления
```py
divmod((round(phase(5+6j),2)*20),3)
(5.0, 2.6000000000000014)
```
## Задание 2
Создайте объект класса struct_time с временными параметрами для текущего московского времени. Создайте строку с текущим часом и минутами.
```py
from time import *
nowatime = localtime()
nowatime
time.struct_time(tm_year=2025, tm_mon=10, tm_mday=23, tm_hour=20, tm_min=20, tm_sec=30, tm_wday=3, tm_yday=296, tm_isdst=0)
stri = str(nowatime.tm_hour)+":"+str(nowatime.tm_min)
stri
'20:20'
```
## Задание 3
Создайте список с элементами – названиями дней недели. Сделайте случайную выборку из этого списка с тремя днями недели
```py
days = ["Пн","Вт","Ср","Чт","Пт","Сб","Вс"]
from random import *
ra = sample(days, 3); ra
['Чт', 'Вт', 'Пн']
```
## Задание 4
Напишите инструкцию случайного выбора числа из последовательности целых чисел от 14 до 32 с шагом 3
```py
nums = sample(range(14,32,3), 1); nums
[26]
```
## Задание 5
Сгенерируйте нормально распределенное число N с математическим ожиданием 15 и стан-дартным отклонением 4 и округлите его до целого значения. Создайте список с N элементами – случайно выбранными буквами латинского алфавита
```py
from random import *
N = round(gauss(15,4))
alphabet = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"]
randlet = sample(alphabet,N)
N; randlet
9
['o', 'q', 'j', 's', 'a', 'v', 'r', 'i', 'c']
```
## Задание 6
Напишите инструкцию для определения временного интервала в минутах, прошедшего с мо-мента предыдущего (из п.2) определения временных параметров
```py
from time import *
c1 = time()
c2 = time()-c1; c2
21.224413871765137
```

@ -0,0 +1,19 @@
# Тест по модулю 4
Гордиевских Данил
Напишите инструкцию создания переменной со значением – календарными данными момента начала выполнения контрольного задания. Создайте кортеж с последовательностью элементов со значениями от -26 до 46 с шагом 9. Подсчитайте число элементов в созданном кортеже. Отобразите результат в виде строки по шаблону: «Число элементов = <значение>». Напишите инструкцию определения числа секунд, прошедших с начала выполнения контрольного задания.
```py
starttask = localtime()
starttask
time.struct_time(tm_year=2025, tm_mon=10, tm_mday=24, tm_hour=9, tm_min=52, tm_sec=13, tm_wday=4, tm_yday=297, tm_isdst=0)
aaaa = tuple(range(-26,46,9));aaaa
(-26, -17, -8, 1, 10, 19, 28, 37)
len(aaaa)
8
print(f"Число элементов = {len(aaaa)}")
Число элементов = 8
(localtime().tm_min - starttask.tm_min)*60 + (localtime().tm_sec - starttask.tm_sec)
328
```
Загрузка…
Отмена
Сохранить