Как сделать корень питоне

Извлечение корня в Python

В этой статье мы рассмотрим, как извлечь корень в Python, а также какой модуль и функция для этого используется. Но давайте обо всем по порядку.

Если мы знаем только общую площадь квадрата и хотим узнать размер одной его стороны либо же собираемся рассчитать расстояние между 2-мя точками в декартовых координатах, нам потребуется квадратный корень. Это не проблема, если речь идет о математике. Но что делать, когда речь идет о языке программирования? К нашему счастью разработчики Python предусмотрели для решения вышеописанной задачи специальную функцию. Но прежде чем продолжить, давайте немного вспомним теорию.

Квадратный корень — что это?

Квадратным корнем, полученным из числа «A», называют число «B», которое при возведении во 2-ю степень даст в итоге то самое изначальное число «A».

Непосредственную операцию, позволяющую найти значение «B», называют извлечением корня из «A». Математики применяют для обозначения этой операции специальный знак (его еще называют знаком радикала):

Когда речь идет о корне в «Питоне», ситуация обстоит иначе, причем в обоих случаях. К примеру, само возведение числа в степень записывают посредством оператора «**«:

Ответ в консоли «Пайтона» будет равняться четырем.

Касаемо квадратного корня, то он в Python представлен функцией sqrt(). Однако она существует не сама по себе, а в рамках соответствующего математического модуля math. Таким образом, перед началом работы этот модуль надо будет импортировать, но это абсолютно не сложно сделать на практике:

import math

Идем дальше. Наша функция sqrt() принимает лишь один параметр – значение, из которого нам надо извлечь . Давайте напишем простенький код и задействуем float в качестве типа данных возвращаемого значения.

import math

import random

# попробуем функцию sqrt() на практике

# найдем корень случайного числа с последующим выводом его на экран

rand_num = random.randint(5, 55)

print(‘Наше случайное число = ‘, rand_num)

print(‘Искомое значение корня = ‘, sqrt_rand_num)

Вы можете попробовать работу этого кода у себя на компьютере или на любом онлайн-компиляторе. Вот, к примеру, компилятор для Python 3.

Читайте также:  Writing file paths in java

Результат может быть таким:

Так как мы используем модуль random, результат будет различаться при каждом выполнении кода.

Но никто не мешает сделать все намного проще:

Положительные числа

Функция sqrt() предназначена для работы с положительными значениями. Если число больше либо равно нулю, то неважно, какой тип данных у него, ведь извлечение корня возможно как из целых, так и из вещественных чисел.

Из вещественных:

Сомневаетесь в корректности итоговых результатов предыдущего примера? Просто выполните обратное возведение в степень:

Также не забывайте, что сделать это можно и посредством специальной функции pow:

Отрицательные значения и ноль

Функция sqrt в «Питоне» — вещь полезная и знать ее нужно, однако она не принимает отрицательного числа — лишь положительные (целые и вещественные), а также ноль.

Такая ограниченная возможность использования не соответствует математическим канонам, ведь в реальной жизни специалисты по математике без проблем извлекают и из отрицательных значений. Да, результат будет комплексным и пригодится лишь для решения довольно узкого спектра задач, типа расчетов волновых явлений в физике либо вычислений в энергетической сфере.

Учитывайте вышесказанное, если пытаетесь извлекать корни в Python посредством этой функции. Передав отрицательное значение, вы получите error:

А вот если говорить про ноль, то ошибки не будет, так как код отработает корректно. Однако результат тут очевиден, поэтому практическая ценность данной возможности весьма условна:

Хотите знать о «Питоне» намного больше? Добро пожаловать на специализированный курс в «Отус»!

Источник

Как извлечь корень в Python (sqrt)

Если вам нужно найти сторону квадрата, когда известна одна лишь его площадь, или вы намерены рассчитать расстояние между двумя точками в декартовых координатах, то без особого инструмента не обойтись. Математики прошлого придумали для этих вычислений квадратный корень, а разработчики Python воплотили его в функции sqrt() .

Что такое квадратный корень

Корнем квадратным из числа «X» называется такое число «Y», которое при возведении его во вторую степень даст в результате то самое число «X».

Операция нахождения числа «Y» называется извлечением квадратного корня из «X». В математике для её записи применяют знак радикала:

Нотация питона отличается в обоих случаях, и возведение в степень записывается при помощи оператора » ** «:

Читайте также:  Проверить пустая ли папка python

А квадратный корень в питоне представлен в виде функции sqrt() , которая существует в рамках модуля math . Поэтому, чтобы начать работу с корнями, модуль math нужно предварительно импортировать:

Функция sqrt() принимает один параметр — то число, из которого требуется извлечь квадратный корень. Тип данных возвращаемого значения — float .

import math import random # пример использования функции sqrt() # отыщем корень случайного числа и выведем его на экран rand_num = random.randint(1, 100) sqrt_rand_num = math.sqrt(rand_num) print(‘Случайное число = ‘, rand_num) > Случайное число = 49 print(‘Корень = ‘, sqrt_rand_num) > Корень = 7.0

Квадратный корень

Положительное число

Именно на работу с неотрицательными числами «заточена» функция sqrt() . Если число больше или равно нулю, то неважно, какой у него тип. Вы можете извлекать корень из целых чисел:

import math print(math.sqrt(100)) > 10.0

А можете — из вещественных:

import math print(math.sqrt(111.5)) > 10.559356040971437

Легко проверить корректность полученных результатов с помощью обратной операции возведения в степень:

print(math.sqrt(70.5)) > 8.396427811873332 # возвести в степень можно так print(8.396427811873332 ** 2) > 70.5 # а можно с помощью функции pow() print(pow(8.396427811873332, 2)) > 70.5

Отрицательное число

Функция sqrt() не принимает отрицательных аргументов. Только положительные целые числа, вещественные числа и ноль.

Такая работа функции идёт вразрез с математическим определением. В математике корень спокойно извлекается из чисел меньше 0. Вот только результат получается комплексным, а таким он нужен для относительно узкого круга реальных задач, вроде расчетов в сфере электроэнергетики или физики волновых явлений.

Поэтому, если передадите отрицательное число в sqrt() , то получите ошибку:

print(math.sqrt(-1)) > ValueError: math domain error

Ноль

Функция sqrt() корректно отрабатывает с нулём на входе. Результат тривиален и ожидаем:

Кубический корень

Само название функции sqrt() намекает нам на то, что она не подходит для извлечения корня степени отличной от двойки. Поэтому для извлечения кубических корней, сначала необходимо вспомнить связь между степенями и корнями, которую продемонстрируем на корне квадратном:

Вышеуказанное соотношение несложно доказать и для других степеней вида 1/n .

# Квадратный корень можно извлечь с помощью операции возведения в степень «**» a = 4 b = a ** 0.5 print(b) > 2.0

В случае с квадратным или кубическим корнем эти операции действительно эквивалентны, но, вообще говоря, в математике извлечение корня и возведение в дробную степень имеют существенные отличия при рациональных степенях вида m/n, где m != 1. Формально, в дробно-рациональную степень можно возводить только положительные вещественные числа. В противном случае возникают проблемы:

Читайте также:  Html head meta seo

👉 Таким образом, извлечь кубический корень в Python можно следующим образом:

Корень n-степени

То, что справедливо для корня третьей степени, справедливо и для корней произвольной степени.

# извлечём корень 17-й степени из числа 5600 x = 5600 y = 17 z = pow(x, (1/y)) print(z) > 1.6614284717080507 # проверяем корректность результата print(pow(z, y)) > 5600.0

Но раз уж мы разбираемся с математической темой, то попытаемся мыслить более обобщённо. С помощью генератора случайных чисел с заданной точностью будем вычислять корень случайной степени из случайного числа:

import random # точность можно задать на ваше усмотрение x = random.randint(1, 10000) y = random.randint(1, 100) z = pow(x, (1 / y)) print(‘Корень степени’, y, ‘из числа’, x, ‘равен’, z) # при проверке вероятны незначительные расхождения из-за погрешности вычислений print(‘Проверка’, pow(z, y)) # но специально для вас автор накликал целочисленный результат > Корень степени 17 из числа 6620 равен 1.6778624404513571 > Проверка 6620.0

Решение реальной задачи с использованием sqrt

Корень — дитя геометрии. Когда Пифагор доказал свою знаменитую теорему, людям тут же захотелось вычислять стороны треугольников, проверять прямоту внешних углов и сооружать лестницы нужной длины.

Соотношение a2 + b2 = c2, где «a» и «b» — катеты, а «c» — гипотенуза — естественным образом требует извлекать корни при поиске неизвестной стороны. Python-а под рукой у древних греков и вавилонян не было, поэтому считать приходилось методом приближений. Жизнь стала проще, но расчет теоремы Пифагора никто не отменял и в XXI веке.

📡 Решим задачку про вышку сотовой связи. Заказчик требует рассчитать высоту сооружения, чтобы радиус покрытия был 23 километра. Мы неспешно отходим на заданное расстояние от предполагаемого места строительства и задумчиво смотрим под ноги. В голове появляются очертания треугольника с вершинами:

Модель готова, приступаем к написанию кода:

import math # расстояние от вас до вышки from_you_to_base_station = 23 # радиус земли earth_radius = 6371 # расчет расстояния от центра земли до пика сооружения по теореме Пифагора height = math.sqrt(from_you_to_base_station ** 2 + earth_radius ** 2) # расчет высоты вышки(км) base_station_height = height — earth_radius print(‘Требуемая высота(м): ‘, round(base_station_height * 1000)) > Требуемая высота(м): 42

Расчёт выполнен, результат заказчику предоставлен. Можно идти пить чай и радоваться тому, что теперь ещё больше людей смогут звонить родным и сидеть в интернете.

Источник

Оцените статью