форкнуто от main/python-labs
Родитель
42c87ab613
Сommit
573a86dc11
@ -0,0 +1,151 @@
|
||||
# Отчёт по теме 4
|
||||
|
||||
Киреев Юрий А-02-23
|
||||
|
||||
## 1. Запуск интерактивной оболочки IDLE
|
||||
|
||||
В задании просят создать файл протокола, отчёт по лабораторной работе записан в файле report.md, который Вы сейчас читаете.
|
||||
|
||||
## 2. Стандартные функции
|
||||
|
||||
Они находятся в модуле builtins, который становится доступным без импорта при запуске среды IDLE.
|
||||
|
||||
### 2.1. Функция round
|
||||
|
||||
Получим справку по назначению этой функции.
|
||||
```py
|
||||
>>> help(round)
|
||||
Help on built-in function round in module builtins:
|
||||
|
||||
round(number, ndigits=None)
|
||||
Round a number to a given precision in decimal digits.
|
||||
|
||||
The return value is an integer if ndigits is omitted or None. Otherwise
|
||||
the return value has the same type as the number. ndigits may be negative.
|
||||
```
|
||||
Попробуем использовать эту функцию на примерах:
|
||||
```py
|
||||
>>> round(123.456,1)
|
||||
123.5
|
||||
>>> round(123.456,0)
|
||||
123.0
|
||||
>>> type(round(123.456,1))
|
||||
<class 'float'> #вещественный тип
|
||||
>>> type(round(123.456,0))
|
||||
<class 'float'>
|
||||
```
|
||||
Вычисления данной функции имеют вещественный тип, отличие в округлении.
|
||||
Первое вычисление - округление до 1го знака после запятой, а второе - округление до запятой.
|
||||
|
||||
Попробуем выполнить такую инструкцию:
|
||||
```py
|
||||
>>> round(123.456)
|
||||
123
|
||||
>>> type(round(123.456))
|
||||
<class 'int'> #целый тип
|
||||
```
|
||||
|
||||
### 2.2. Функция range
|
||||
|
||||
Пример
|
||||
|
||||
```py
|
||||
>>> gg=range(76,123,9)
|
||||
>>> gg
|
||||
range(76, 123, 9)
|
||||
```
|
||||
Аргументами функции являются границы диапазона значений и шаг. При этом правая граница в создаваемую последовательность включена не будет.
|
||||
Чтобы увидеть получившуюся последовательность чисел, его надо преобразовать, например, в список, обычным способом:
|
||||
```py
|
||||
>>> list(gg)
|
||||
[76, 85, 94, 103, 112, 121]
|
||||
```
|
||||
Обратим внимание на возможность вызова функции range с одним аргументом:
|
||||
```py
|
||||
>>> range(23)
|
||||
>>> range(0, 23)
|
||||
>>> type(range(0, 23))
|
||||
<class 'range'>
|
||||
>>> list(range(0, 23))
|
||||
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22]
|
||||
```
|
||||
Получился объект со значениями от 0 до 22, границы - от 0 до 23, где 23 - не включительно, шаг - 1.
|
||||
Аргументами range(23) является граница и шаг 1.
|
||||
|
||||
### 2.3. Функция zip
|
||||
|
||||
Пример использования:
|
||||
```py
|
||||
>>> qq = ['Kireev', 'Bezhenar', 'Kuzmenko','Dobrovolska']
|
||||
>>> ff=zip(gg,qq)
|
||||
>>> ff
|
||||
<zip object at 0x0000023822FEA700>
|
||||
>>> tuple(ff)
|
||||
((76, 'Kireev'), (85, 'Bezhenar'), (94, 'Kuzmenko'), (103, 'Dobrovolska'))
|
||||
```
|
||||
Здесь получается «итерируемый объект» класса zip, поэтому, чтобы увидеть результат вычисления функции, превратили его в кортеж.
|
||||
В кортеже получилось 4 элемента, что является минимальным числом элементов из gg и qq.
|
||||
|
||||
К объекту zip нельзя обратиться по индексу поскольку он не является последовательностью.
|
||||
```py
|
||||
>>> ff[1]
|
||||
Traceback (most recent call last):
|
||||
File "<pyshell#25>", line 1, in <module>
|
||||
ff[1]
|
||||
TypeError: 'zip' object is not subscriptable
|
||||
```
|
||||
|
||||
### 2.4. Функция eval
|
||||
|
||||
Пример использования
|
||||
```py
|
||||
>>> fff=float(input('коэффициент усиления=')); dan=eval('5*fff-156')
|
||||
коэффициент усиления=3.4
|
||||
>>> dan
|
||||
-139.0
|
||||
```
|
||||
|
||||
### 2.5. Функция exec
|
||||
|
||||
Пример:
|
||||
```py
|
||||
>>> exec(input('введите инструкции:'))
|
||||
введите инструкции:perem=-123.456;gg=round(abs(perem)+98,3)
|
||||
>>> gg
|
||||
221.456
|
||||
```
|
||||
|
||||
### 2.6. Функции abs, pow, max, min, sum, divmod, len, map.
|
||||
|
||||
Покажем на примерах, за что отвечает каждая функция:
|
||||
```py
|
||||
>>> abs(-5) #Абсолютное значение
|
||||
5
|
||||
>>> pow(2,3) #Возведение в степень
|
||||
8
|
||||
>>> max(1,5,2,8) #Нахождение максимального значения
|
||||
8
|
||||
>>> min(1,5,2,8) #Нахождение минимального значения
|
||||
1
|
||||
>>> sum([1,5,2,8]) #Нахождение суммы
|
||||
16
|
||||
>>> divmod(15,4) #Нахождение частного и остатка от делния
|
||||
(3, 3)
|
||||
>>> len('Hello') #Нахождение длины объекта
|
||||
5
|
||||
>>> numbers = [1,2,3,4,5]
|
||||
>>> string_numbers = list(map(str, numbers)) #map-применяет функцию (в данном случае str) к каждому элементу
|
||||
>>> string_numbers
|
||||
['1', '2', '3', '4', '5']
|
||||
```
|
||||
|
||||
## 3. Функции из стандартного модуля math
|
||||
|
||||
Запустим модуль math с помощью инструкции:
|
||||
|
||||
```py
|
||||
import math
|
||||
dir(math)
|
||||
['__doc__', '__loader__', '__name__', '__package__', '__spec__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2', 'atanh', 'cbrt', 'ceil', 'comb', 'copysign', 'cos', 'cosh', 'degrees', 'dist', 'e', 'erf', 'erfc', 'exp', 'exp2', 'expm1', 'fabs', 'factorial', 'floor', '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', 'tan', 'tanh', 'tau', 'trunc', 'ulp']
|
||||
```
|
||||
|
||||
Загрузка…
Ссылка в новой задаче