From 8c7f86f7a432e10d0cf6540177d207e1724cdba0 Mon Sep 17 00:00:00 2001 From: TerekhovFV Date: Thu, 2 Oct 2025 16:47:15 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A1=D0=B4=D0=B5=D0=BB=D0=B0=D0=BB=20=D0=B4?= =?UTF-8?q?=D0=BE=20=D1=82=D1=80=D0=B5=D1=82=D1=8C=D0=B5=D0=B3=D0=BE=20?= =?UTF-8?q?=D0=BF=D1=83=D0=BD=D0=BA=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TEMA4/report.md | 242 ++++++++++++++++++++++++++++++++++++++++++++++++ TEMA4/task1.py | 55 +++++++++++ 2 files changed, 297 insertions(+) create mode 100644 TEMA4/report.md create mode 100644 TEMA4/task1.py diff --git a/TEMA4/report.md b/TEMA4/report.md new file mode 100644 index 0000000..f3d03cd --- /dev/null +++ b/TEMA4/report.md @@ -0,0 +1,242 @@ +# Отчет по теме 4 + +***Цель темы: получение навыков использования встроенных функций языка Python.*** + +Терехов Фёдор Валерьевич, А-01-23 + +## 1. Стандартные функции. Находятся в модуле builtins, который становится доступным без импорта при запуске среды IDLE. + +### 1.1. Функция round – округление числа с заданной точностью. + +```python +help(round) +``` + +Ответ программы: + +```shell +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. +``` + +```python +print(round(123.456,1)) +print(round(123.456,0)) +print('\n') +print(type(round(123.456,1))) +print(type(round(123.456,0))) +print('\n') +print(round(123.456)) +print(type(round(123.456))) +print('\n') +``` + +Ответ программы: +```shell +123.5 +123.0 + + + + + + +123 + +``` + +### 1.2. Функция range – создание последовательности целых чисел с заданным шагом или, по умолчанию, с шагом 1. + +*Аргументами функции являются границы диапазона значений и шаг. При этом правая граница в создаваемую последовательность включена не будет (так же, как это было в «срезах» индексов объектов-последовательностей).* + +*Аргументами функции являются границы диапазона значений и шаг. При этом правая граница в создаваемую последовательность включена не будет (так же, как это было в «срезах» индексов объектов-последовательностей).* + +*Чтобы увидеть получившуюся последовательность чисел, его надо преобразовать, например, в список.* + +```python +gg=range(76,123,9) +print(list(gg),'\n') +print(list(range(23))) +``` + +Ответ программы: + +```shell +[76, 85, 94, 103, 112, 121] + +[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] +``` + +*Если написать например range(23), то будет последовательность от нуля до 23 (не включительно) с шагом 1.* + +### 1.3. Функция zip – создание общего объекта, элементами которого являются кортежи, составленные из элементов двух или более объектов-последовательностей (zip – застежка-«молния»). + +*Длина результирующего объекта равна длине самого короткого объекта из двух аргументов функции.* + +```python +qq=['Terekhov','Zhalnin', 'Petrov'] +ff=zip(qq,gg) +print(tuple(ff)) +``` + +Ответ программы: + +```shell +(('Terekhov', 76), ('Zhalnin', 85), ('Petrov', 94)) +``` + +В получившемся кортеже 3 элемента-кортежа. То есть столько, сколько в наименьшем списке среди двух (qq, gg). + +**К объекту ff обращаться с указанием индекса.** + +```python +print(ff[1][0]) +``` + +Ответ программы: + +```shell +Traceback (most recent call last): + File "/home/user/Desktop/VUZ/3CURSE/POAS_labs/python-labs/TEMA4/task1.py", line 20, in + print(ff[1][0]) + ~~^^^ +TypeError: 'zip' object is not subscriptable +``` + +### 1.4. Функция eval – вычисление значения выражения, корректно записанного на языке Python и представленного в виде символьной строки. + +```python +fff=float(input('коэффициент усиления=')) +dan=eval('5*fff-156') +print(dan) +``` + +Ответ программы: + +```shell +коэффициент усиления=10 +-106.0 +``` + +### 1.5. Функция exec – чтение и выполнение объекта-аргумента функции. + +```python +exec(input('введите инструкции:')) +print(dir()) +``` + +Ответ программы: + +```shell +введите инструкции:perem=-123.456;gg=round(abs(perem)+98,3) +['__annotations__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'dan', 'ff', 'fff', 'gg', 'perem', 'qq'] +``` + +***Функции eval() и exec() нужно использовать с осторожностью, так как они затрудняют чтение и понимание программ.*** + +### 1.6. Функция abs - модуль (абсолютное значение). + +```python +print(abs(-7), abs(3.5)) +``` + +Ответ программы: + +```shell +7 3.5 +``` + +### 1.7. Функции min() и max() - минимальное и максимальное значение. + +Что принимают: + +* Любой итерируемый объект: строка (максимум по UNICODE-коду), кортеж, множество, диапазон, словарь (сравниваются ключи), и т.д. + +* Либо несколько позиционных аргументов: max(3, 7, 2). + +```python +print(max(1,2,3,4,5)) +print(min(1,2,3,4,5)) +``` + +Ответ программы: + +```shell +5 +1 +``` + +### 1.8. Функция pow() - возведение в степень. + +```python +print(pow(2,3)) +print(pow(2,3,5)) # 2**3 = 8, затем 8 % 5 = 3. +``` + +Ответ программы: + +```shell +8 +3 +``` + +### 1.9. Функция sum() - сумма элементов итерируемого объекта. + +*Не работает со строками.* + +```python +print(sum([1,2,3,4,5])) +print(sum((1,2,3,4,5))) +print(sum({1,2,3,4,5})) +``` + +Ответ программы: + +```shell +15 +15 +15 +``` + +### 1.10. Функция divmod() — (целая часть, остаток). + +```python +print(divmod(29, 5)) +``` + +Ответ программы: + +```shell +(5, 4) +``` + +### 1.11. Функция len() - длина. + +```python +print(len([1,2,3,4,5]), len("привет")) +``` + +Ответ программы: + +```shell +5 6 +``` + +### 1.12. Функция map(func, iterable, ...) применяет функцию func к каждому элементу(ам) и возвращает итератор результатов. + +```python +vals = [3, -8, 5, 0, 12, -1] +r = list(map(abs, vals)) +print(r) +``` + +Ответ программы: + +```shell +[3, 8, 5, 0, 12, 1] +``` diff --git a/TEMA4/task1.py b/TEMA4/task1.py new file mode 100644 index 0000000..bb39eae --- /dev/null +++ b/TEMA4/task1.py @@ -0,0 +1,55 @@ +print(round(123.456,1)) +print(round(123.456,0)) +print('\n') +print(type(round(123.456,1))) +print(type(round(123.456,0))) +print('\n') +print(round(123.456)) +print(type(round(123.456))) +print('\n') + +gg=range(76,123,9) +print(list(gg),'\n') +print(list(range(23))) +print('\n') + + +qq=['Terekhov','Zhalnin', 'Petrov'] +ff=zip(qq,gg) +print(tuple(ff)) +print('\n') + +fff=10 +dan=eval('5*fff-156') +print(dan) +print('\n') + +print(dir()) +print('\n') + +print(abs(-7), abs(3.5)) +print('\n') + +print(max(1,2,3,4,5)) +print(min(1,2,3,4,5)) +print('\n') + +print(pow(2,3)) +print(pow(2,3,5)) # 2**3 = 8, затем 8 % 5 = 3. +print('\n') + +print(sum([1,2,3,4,5])) +print(sum((1,2,3,4,5))) +print(sum({1,2,3,4,5})) +print('\n') + +print(divmod(29, 5)) +print('\n') + +print(len([1,2,3,4,5]), len("привет")) +print('\n') + + +vals = [3, -8, 5, 0, 12, -1] +r = list(map(abs, vals)) +print(r) \ No newline at end of file