форкнуто от main/python-labs
Родитель
565ce667de
Сommit
8c7f86f7a4
@ -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
|
||||||
|
|
||||||
|
|
||||||
|
<class 'float'>
|
||||||
|
<class 'float'>
|
||||||
|
|
||||||
|
|
||||||
|
123
|
||||||
|
<class 'int'>
|
||||||
|
```
|
||||||
|
|
||||||
|
### 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 <module>
|
||||||
|
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]
|
||||||
|
```
|
||||||
@ -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)
|
||||||
Загрузка…
Ссылка в новой задаче