5.9 KiB
Отчёт по теме 4
Киреев Юрий А-02-23
1. Запуск интерактивной оболочки IDLE
В задании просят создать файл протокола, отчёт по лабораторной работе записан в файле report.md, который Вы сейчас читаете.
2. Стандартные функции
Они находятся в модуле builtins, который становится доступным без импорта при запуске среды IDLE.
2.1. Функция round
Получим справку по назначению этой функции.
>>> 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.
Попробуем использовать эту функцию на примерах:
>>> 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го знака после запятой, а второе - округление до запятой.
Попробуем выполнить такую инструкцию:
>>> round(123.456)
123
>>> type(round(123.456))
<class 'int'> #целый тип
2.2. Функция range
Пример
>>> gg=range(76,123,9)
>>> gg
range(76, 123, 9)
Аргументами функции являются границы диапазона значений и шаг. При этом правая граница в создаваемую последовательность включена не будет. Чтобы увидеть получившуюся последовательность чисел, его надо преобразовать, например, в список, обычным способом:
>>> list(gg)
[76, 85, 94, 103, 112, 121]
Обратим внимание на возможность вызова функции range с одним аргументом:
>>> 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
Пример использования:
>>> 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 нельзя обратиться по индексу поскольку он не является последовательностью.
>>> 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
Пример использования
>>> fff=float(input('коэффициент усиления=')); dan=eval('5*fff-156')
коэффициент усиления=3.4
>>> dan
-139.0
2.5. Функция exec
Пример:
>>> exec(input('введите инструкции:'))
введите инструкции:perem=-123.456;gg=round(abs(perem)+98,3)
>>> gg
221.456
2.6. Функции abs, pow, max, min, sum, divmod, len, map.
Покажем на примерах, за что отвечает каждая функция:
>>> 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 с помощью инструкции:
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']