# abs, min mаx, pow, round, type, trunc, floor, ceil
print(abs(-7)) #находим модуль числа, возвращаем 7, со знаком +
print(abs(-7*3)) # 21 ФУНКЦИЯ ОТБЗАСЫАЕТ ЗНАК

print("min:", min(7,4,5,-3,65,45,754)) #
min: -3 возвращает МИН значение

print("max:", max(7,4,5,3,65,45,754)) #max: 754 возвращает МАХ значение

print(pow(7,3)) #возведение в степень 343
print(abs(7**3)) #можно и так а**b
print(round(73.4564)) #округляем, число - 73
print(round(73.4564, 3)) #второй аргумент функции 3, округляем до 3го знака
print(round(7311.4564, -1)) #7310
второй аргумент функции - 1,
#аргумент со знаком "-" округляет уже челое число, перед запятой

print(round(7311.4564, -2)) #7300
print(type(4)) #возвращает тип переменной - <class 'int'>
print(type(5.5)) #возвращает тип переменной - <class 'float'>

#Task - зеркальная замена значений переменных.

a = 2
b = 1
print("было", b, a)

a, b = b, a
print("стало", b, a)

#Task - Вычисление гипотенузы e по длинне катетов c, d.
c = 5
d = 7
e= float

e = ((5**2)+(7**2))**0.5
print("гипотенуза:", e)


# модуль math далее
"""" функция trunc - отбрасывает дробную часть """
import math # не забываем импортировать math !!!

tr, int_ = 35.56, 33.55
print("метод trunc:", math.trunc(tr)) # 35 отсекает у дроби(натурального числа) его дробную часть
""" аналог этой функции """
print("метод int", int(int_)) # 33 просто переводим из float в int
""" math.floor метод округления к меньшему """
flr1, flr2 = 35.5, -35.5
print("метод floor", math.floor(flr1)) # метод floor 35

print("метод floor", math.floor(flr2)) # метод floor -36 (всем ясно, почему -36 ?)
print("метод floor", math.floor(10/4)) # 10/4=2.5 но вывод будет 2, тк идет округление в меньшую сторону
""" math.ceil метод округления к большему """
cl1, cl2 = 35.5, -35.5
print("метод ceil", math.ceil(cl1)) #метод ceil 36

print("метод ceil", math.ceil(cl2)) #метод ceil -35
print("метод ceil", math.ceil(10/4)) # 10/4=2.5 но вывод будет 3, тк идет округление в большую сторону