Извлечение корней в Python
Под извлечением корня из какого-либо числа чаще всего подразумевают нахождение решение уравнения x в степени n = value, соответственно для квадратного корня, число n — это два, для кубического — 3. Чаще всего под результатом и числом подразумеваются вещественные числа.
В программировании нахождение корней используется очень часто. Разберемся, как и какими методами можно эффективно извлекать корни из числа. Вначале рассмотрим, какие способы есть в Python, и определим самый эффективный. Потом более подробно разберём, как можно найти не только квадратный корень из числа, но и кубический, и потом корень n степени.
Способы извлечения корня
В языке программирования Python 3 существует три способа извлечения корней:
Если же нам нужно вычислить в Python корень квадратный из суммы квадратов, то можно воспользоваться функцией hypot из модуля math. Берется сумма квадратов аргументов функции, из нее получается корень. Аргументов у функции два.
Еще одним, чуть более универсальным методом, будет использование возведения в степень. Известно, что для того, чтобы взять корень n из числа, необходимо возвести его в степень 1/n. Соответственно, извлечение квадратного корня из числа 4 будет выглядеть так:
Последний метод использует функцию pow(value, n). Эта функция в качестве аргумента value возьмет число, которое необходимо возвести в степень, а второй аргумент будет отвечать за степень числа. Как и в предыдущем методе, необходимо использовать дробь, для того, чтобы получить корень числа.
Какой метод быстрее?
Для того, чтобы определить какой же метод предпочтительнее использовать, напишем программу. Замерять время выполнения будем с помощью метода monotonic библиотеки time.
Как видно, самое быстрое решение — использовать **. На втором месте метод sqrt, а pow — самый медленный. Правда, метод sqrt наиболее нагляден при вычислении в Python квадратных корней.
Квадратный корень
Для извлечения квадратного корня самым наглядным способом, правда не самым быстрым, будет использование sqrt из модуля math.
Но можно использовать и трюки с возведением в степень 1/2, что тоже будет приводить к нужному результату.
Кубический корень
Для извлечения кубического корня в Python 3 метод sqrt не подойдет, поэтому воспользуйтесь возведением в степень 1/3:
Корень n-степени
Корень n-степени из числа в Python извлекается можно получить двумя способами с помощью возведения в степень 1.0/n:
Как было проверено выше, оператор ** быстрее. Поэтому его использовать более целесообразно. Приведем пример вычисления кубических корней в Python 3 с помощью этих двух методов:
Корень отрицательного числа
Рассмотрим, как поведут себя функции, если будем брать корень из отрицательного числа.
Как видим, функция sqrt выдаёт исключение.
Теперь посмотрим, что будет при использовании других методов.
Как видно из результата, оператор ** не выдает исключения и возвращает некорректный результат. Функция pow работает корректно. В результате получаем комплексное число 2j, что является верным.
Вывод
В Python существуют два универсальных способа для извлечения корня из числа. Это возведение в необходимую степень 1/n. Кроме того, можно воспользоваться функцией из математического модуля языка, если необходимо извлечь квадратный корень числа.
Все эти методы имеют свои преимущества и недостатки. Самый наглядный это sqrt, но подходит только для квадратный корней из числа. Остальные методы не такие элегантные, но легко могут извлечь корень нужной степени из числа. Кроме того оператор ** оказался наиболее быстрым при тестировании.
Необходимо также помнить про целочисленное деление, неправильное использование которого может приводить к ошибке в вычислении.
Как вычислить квадратный корень в Python
Чтобы вычислить квадратный корень в Python, у нас есть в основном 5 методов или способов. Самый распространенный или самый простой способ-это использование функции математического модуля sqrt.
Как вычислить квадратный корень в Python
В языке непрофессионалов квадратный корень может быть определен как Квадратный корень числа-это значение, которое при умножении на себя дает число. В Python или любом другом языке программирования для вычисления квадратного корня числа у нас есть разные методы. И в этом уроке мы постараемся охватить все методы вычисления квадратного корня из числа.
Для вычисления квадратного корня в Python у нас есть в основном 5 методов или способов. Самый распространенный или самый простой способ-это использование функции математического модуля sqrt. Функция Python sqrt встроена в математический модуль, вы должны импортировать математический пакет (модуль). Функция sqrt в языке программирования python, возвращающая квадратный корень из любого числа (число > 0).
Различные способы вычисления квадратного корня в Python
Как правило, у нас есть способы вычисления квадратного корня в Python, которые упоминаются ниже:
- Использование метода math.sqrt() Использование оператора ** Для вещественных или комплексных чисел с использованием математического модуля Использование цикла Python Квадратный корень из числа с помощью pow()
Вычисление квадратного корня в Python С помощью функции sqrt()
Математический модуль Python имеет дело с математическими функциями и вычислениями. Функция sqrt() в математическом модуле используется для вычисления квадратного корня из заданного числа.
Синтаксис
Ниже приведен синтаксис функции Python sqrt ().
Параметры
номер – Здесь num может быть любым положительным числом, квадратный корень которого вы хотите.
Возвращаемое значение функции sqrt()
метод sqrt() в Python вернет квадратный корень из заданного числа с плавающей запятой. Если значение меньше 0, то он вернет ошибку времени выполнения.
Совместимость функций Python sqrt()
Примеры Вычисления Квадратного Корня С Помощью Функции sqrt()
Давайте рассмотрим несколько примеров вычисления квадратного корня Python с помощью функции sqrt ().
Пример 1: Вычисление квадратного корня из положительного целого числа
Пример 2: Вычисление квадратного корня из числа с плавающей запятой
Пример 3: Вычисление квадратного корня из 0
Как извлечь корень в Python (sqrt)
Но обо всём по порядку.
Что такое квадратный корень
Корнем квадратным из числа «X» называется такое число «Y», которое при возведении его во вторую степень даст в результате то самое число «X».
Операция нахождения числа «Y» называется извлечением квадратного корня из «X». В математике для её записи применяют знак радикала:
Нотация питона отличается в обоих случаях, и возведение в степень записывается при помощи оператора » ** «:
a = 2 b = a ** 2 print(b) > 4
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
Квадратный корень
Положительное число
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. Вот только результат получается комплексным, а таким он нужен для относительно узкого круга реальных задач, вроде расчетов в сфере электроэнергетики или физики волновых явлений.
print(math.sqrt(-1)) > ValueError: math domain error
Функция sqrt() корректно отрабатывает с нулём на входе. Результат тривиален и ожидаем:
Кубический корень
Само название функции sqrt() намекает нам на то, что она не подходит для извлечения корня степени отличной от двойки. Поэтому для извлечения кубических корней, сначала необходимо вспомнить связь между степенями и корнями, которую продемонстрируем на корне квадратном:
# Квадратный корень можно извлечь с помощью операции возведения в степень «**» a = 4 b = a ** 0.5 print(b) > 2.0
? Таким образом, извлечь кубический корень в 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 километра. Мы неспешно отходим на заданное расстояние от предполагаемого места строительства и задумчиво смотрим под ноги. В голове появляются очертания треугольника с вершинами:
Модель готова, приступаем к написанию кода:
Расчёт выполнен, результат заказчику предоставлен. Можно идти пить чай и радоваться тому, что теперь ещё больше людей смогут звонить родным и сидеть в интернете.
Извлечение корня в 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.
Результат может быть таким:
Так как мы используем модуль random, результат будет различаться при каждом выполнении кода.
Но никто не мешает сделать все намного проще:
Положительные числа
Функция sqrt() предназначена для работы с положительными значениями. Если число больше либо равно нулю, то неважно, какой тип данных у него, ведь извлечение корня возможно как из целых, так и из вещественных чисел.
Из целых:
Из вещественных:
Сомневаетесь в корректности итоговых результатов предыдущего примера? Просто выполните обратное возведение в степень:
Также не забывайте, что сделать это можно и посредством специальной функции pow:
Отрицательные значения и ноль
Функция sqrt в «Питоне» — вещь полезная и знать ее нужно, однако она не принимает отрицательного числа — лишь положительные (целые и вещественные), а также ноль.
Такая ограниченная возможность использования не соответствует математическим канонам, ведь в реальной жизни специалисты по математике без проблем извлекают √ и из отрицательных значений. Да, результат будет комплексным и пригодится лишь для решения довольно узкого спектра задач, типа расчетов волновых явлений в физике либо вычислений в энергетической сфере.
Учитывайте вышесказанное, если пытаетесь извлекать корни в Python посредством этой функции. Передав отрицательное значение, вы получите error:
А вот если говорить про ноль, то ошибки не будет, так как код отработает корректно. Однако результат тут очевиден, поэтому практическая ценность данной возможности весьма условна:
Хотите знать о «Питоне» намного больше? Добро пожаловать на специализированный курс в «Отус»!
Как вычислить квадратный корень в Python
В Python есть предопределенная функция sqrt(), которая возвращает квадратный корень числа. Она определяет квадратный корень из значения, которое умножается на само себя и дает число. Функция sqrt() не используется напрямую для нахождения квадратного корня из заданного числа, поэтому нам нужно использовать математический модуль для вызова функции sqrt() в Python.
Например, квадратный корень из 144 равен 12.
Использование метода math.sqrt()
Функция sqrt() – это встроенная функция, которая возвращает квадратный корень из любого числа. Ниже приведены шаги, чтобы найти квадратный корень из числа.
Давайте напишем программу на Python.
Давайте создадим программу на Python, которая находит квадратный корень десятичных чисел.
В следующей программе мы прочитали число от пользователя и нашли квадратный корень.
Использование функции math.pow()
Pow() – это встроенная функция, которая используется в Python для возврата степени числа. У него два параметра. Первый параметр определяет число, а второй параметр определяет увеличение мощности до этого числа.
Использование оператора **
Мы также можем использовать оператор экспоненты, чтобы найти квадратный корень из числа. Оператор может применяться между двумя операндами. Например, x ** y. Это означает, что левый операнд возведен в степень правого.
Ниже приведены шаги, чтобы найти квадратный корень из числа.
Давайте реализуем вышеуказанные шаги.
Как мы видим в приведенном выше примере, сначала мы берем ввод(число) от пользователя, а затем используем оператор степени **, чтобы узнать степень числа. Где 0,5 равно √(символ корня), чтобы увеличить степень данного числа.
Давайте создадим программу Python, которая находит квадратный корень из указанного диапазона, в следующей программе вычисление из всех чисел от 0 до 50.