форкнуто от main/python-labs
				
			
			Вы не можете выбрать более 25 тем
			Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
		
		
		
		
		
			
		
			
				
	
	
		
			152 строки
		
	
	
		
			5.9 KiB
		
	
	
	
		
			Markdown
		
	
			
		
		
	
	
			152 строки
		
	
	
		
			5.9 KiB
		
	
	
	
		
			Markdown
		
	
| # Отчёт по теме 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']
 | |
| ```
 | |
| 
 |