Сравнить коммиты
17 Коммитов
| Автор | SHA1 | Дата |
|---|---|---|
|
|
e058d217ab | 4 дней назад |
|
|
ec8173a9c2 | 4 дней назад |
|
|
2cf445a624 | 4 дней назад |
|
|
18a3e4fad9 | 4 дней назад |
|
|
f0f3b623cf | 4 дней назад |
|
|
9067761e97 | 4 дней назад |
|
|
5ef3a40778 | 3 недель назад |
|
|
aea9a7e2a7 | 3 недель назад |
|
|
3eefb2f8ca | 3 недель назад |
|
|
6d8e9face9 | 1 месяц назад |
|
|
ebafe05594 | 1 месяц назад |
|
|
c0c649f765 | 1 месяц назад |
|
|
0558a1abd6 | 1 месяц назад |
|
|
e1eadd36b3 | 1 месяц назад |
|
|
3694fcd9f3 | 1 месяц назад |
|
|
27ed910703 | 2 месяцев назад |
|
|
cb083c89b5 | 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. Настроены размер окна, шрифт и выделение комментариев. Приведены скриншоты окон настройки
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
## 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, фрагмент которого представлен на скриншоте
|
||||
|
||||

|
||||
|
||||
Файл .pyc — это скомпилированный файл байт-кода для исходного кода Python (.py) для исполнения виртуальной машиной Python
|
||||
|
||||
## 1.5 Изучение HELP'а
|
||||
|
||||
В командную строку Python введена инструкция help(print), help(input). Вывод — описание работы данных инструкций, представлен на скриншоте
|
||||
|
||||

|
||||
|
||||
## 1.6 Пункт 15
|
||||
|
||||
Открыт в редакторе и запущен файл prb1.py, получен вывод:
|
||||
|
||||
```
|
||||
================== RESTART: C:\Users\gorda\YandexDisk\5 семестр\ПОАС\TEMA1\prb1.py =================
|
||||
Как Вас зовут? Danil
|
||||
Привет, Danil
|
||||
```
|
||||
|
||||
Запущен файл tdemo_chaos.py и изучено его содержимое. Скриншот окна работы программы и код приграммы приведён ниже
|
||||
|
||||

|
||||

|
||||
|
||||
Запущен пример clock из пакета Turtle. Окно представлено на скриншоте
|
||||
|
||||

|
||||
|
После Ширина: | Высота: | Размер: 42 KiB |
|
После Ширина: | Высота: | Размер: 87 KiB |
|
После Ширина: | Высота: | Размер: 61 KiB |
|
После Ширина: | Высота: | Размер: 51 KiB |
|
После Ширина: | Высота: | Размер: 77 KiB |
|
После Ширина: | Высота: | Размер: 110 KiB |
|
После Ширина: | Высота: | Размер: 83 KiB |
|
После Ширина: | Высота: | Размер: 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
|
||||
```
|
||||
|
После Ширина: | Высота: | Размер: 20 KiB |
|
После Ширина: | Высота: | Размер: 15 KiB |
|
После Ширина: | Высота: | Размер: 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()
|
||||
```
|
||||
|
||||
Полученный график представлен на рисунке
|
||||
|
||||

|
||||
|
||||
Круговая диаграмма
|
||||
|
||||
```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()
|
||||
```
|
||||
|
||||
Полученный график представлен на рисунке
|
||||
|
||||

|
||||
|
||||
Испробовано построение гистограммы
|
||||
|
||||
```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()
|
||||
```
|
||||
|
||||
Полученный график представлен на рисунке
|
||||
|
||||

|
||||
|
||||
## Пункт 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
|
||||
```
|
||||