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

Квадратный корень из числа — это значение, которое при умножении само на себя дает исходное число. Каждое положительное число имеет два квадратных корня (то же значение с положительным и отрицательным знаками). Ниже приводится запись квадратного корня:
√25 = ±5

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

Математическое представление квадрата числа

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

Предположим, мы хотим получить квадрат 5. Если мы умножим число (в данном случае 5) на 5, мы получим квадрат этого числа. Для обозначения квадрата числа используется следующая запись:
52 = 25

При программировании на Python довольно часто возникает необходимость использовать функцию извлечения квадратного корня. Есть несколько способов найти квадратный корень числа в Python.

1. Используя оператор возведения в степень

num = 25
sqrt = num ** (0.5)
print("Квадратный корень из числа "+str(num)+" это "+str(sqrt))

Вывод:

Квадратный корень из числа 25 это 5.0

Объяснение: Мы можем использовать оператор «**» в Python, чтобы получить квадратный корень. Любое число, возведенное в степень 0.5, дает нам квадратный корень из этого числа.

2. Использование math.sqrt()

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

a. Использование положительного числа в качестве аргумента.

import math
num = 25
sqrt = math.sqrt(num)
print("Квадратный корень из числа " + str(num) + " это " + str(sqrt))

Вывод: Квадратный корень из числа 25 это 5.0.

b. Использование ноля в качестве аргумента.

import math
num = 0
sqrt = math.sqrt(num)
print("Квадратный корень из числа " + str(num) + " это " + str(sqrt))

Вывод: Квадратный корень из числа 0 это 0.0.

c. Использование отрицательного числа в качестве аргумента.

import math
num = -25
sqrt = math.sqrt(num)
print("Квадратный корень из числа " + str(num) + " это " + str(sqrt))

Вывод:

Traceback (most recent call last):
  File "C:wb.py", line 3, in 
    sqrt = math.sqrt(num)
ValueError: math domain error

Объяснение: Когда мы передаем отрицательное число в качестве аргумента, мы получаем следующую ошибку «math domain error». Из чего следует, что аргумент должен быть больше 0. Итак, чтобы решить эту проблему, мы должны использовать функцию sqrt() из модуля cmath.

3. Использование cmath.sqrt()

Ниже приведены примеры применения cmath.sqrt().

а. Использование отрицательного числа в качестве аргумента.

import cmath
num = -25
sqrt = cmath.sqrt(num)
print("Квадратный корень из числа " + str(num) + " это " + str(sqrt))

Вывод: Квадратный корень из числа -25 это 5j.

Объяснение: Для отрицательных чисел мы должны использовать функцию sqrt() модуля cmath, которая занимается математическими вычислениями над комплексными числами.

b. Использование комплексного числа в качестве аргумента.

import cmath
num = 4 + 9j
sqrt = cmath.sqrt(num)
print("Квадратный корень из числа " + str(num) + " это " + str(sqrt))

Вывод: Квадратный корень из числа (4+9j) это (2.6314309606938298+1.7100961671491028j).

Объяснение: Для нахождения квадратного корня из комплексного числа мы также можем использовать функцию cmath.sqrt().

4. Использование np.sqrt()

import numpy as np
num = -25
sqrt = np.sqrt(num)
print("Квадратный корень из числа " + str(num) + " это " + str(sqrt))

Вывод:

...
RuntimeWarning: invalid value encountered in sqrt
Квадратный корень из числа -25 это nan

5. Использование scipy.sqrt()




import scipy as sc
num = 25
sqrt = sc.sqrt(num)
print("Квадратный корень из числа " + str(num) + " это " + str(sqrt))

Вывод: Квадратный корень из числа 25 это 5.0.

Объяснение: Как и функция sqrt() модуля numpy, в scipy квадратный корень из положительных, нулевых и комплексных чисел может быть успешно вычислен, но для отрицательных возвращается nan с RunTimeWarning.

6. Использование sympy.sqrt()

import sympy as smp
num = 25
sqrt = smp.sqrt(num)
print("Квадратный корень из числа "+str(num)+" это "+str(sqrt))

Вывод: Квадратный корень из числа 25 это 5.

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

Заключение

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

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

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

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

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

B2 = A

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

B = √A

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

X = 2

Y = X ** 2

print(Y)

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

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

import math

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

import math

import random

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

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

rand_num = random.randint(5, 55)

sqrt_rand_num = math.sqrt(rand_num)

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

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

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

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

Или таким:

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

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

print (math.sqrt(64))

Ответ очевиден:

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

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

Из целых:

import math

print(math.sqrt(81))

> 9.0

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

print(math.sqrt(81.5))

> 9.027735042633894

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

print(9.027735042633894 ** 2)

> 81.5

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

print(pow(9.027735042633894, 2))

> 81.5

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

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

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

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

import math

print(math.sqrt(-1))

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

import math

print(math.sqrt(0))

> 0.0

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

По материалам:

  • http://python-teach.ru/python-dlya-nachinayushhih/vychislenie-kvadratnogo-kornya-chisla-v-python/.

Извлечение квадратного корня — это одна из самых базовых операций в математике, которая часто используется в научных и инженерных вычислениях. В этой статье мы рассмотрим, как извлечь квадратный корень на Python, как с помощью стандартной библиотеки math, так и без нее.

Извлечение квадратного корня с помощью оператора **

Квадратный корень из числа X можно определить как число Y, которое при возведении в квадрат дает значение X.

Другими словами, квадратный корень из числа X — это число Y, такое что Y умноженное само на себя равняется X.

В языке Python возведение в степень обозначается оператором **, например, a ** 2 — это квадрат числа a.

Таким образом, чтобы вычислить квадратный корень из числа X, мы можем записать его в виде выражения Y = X ** 0.5. Например, если дано число X = 25, то его квадратный корень можно вычислить следующим образом:

main.py

X = 8
Y = X ** 0.5

print("Квадратный корень из", X, "равен", Y)

Результат:

Терминал

>>> Квадратный корень из 8 равен 2.8284271247461903

Извлечение квадратного корня с помощью методов объектов float и decimal.Decimal

В Python можно извлечь квадратный корень использовав методы объектов float и decimal.Decimal

main.py

x = 8
print(float(x) ** 0.5) # 2.8284271247461903

Или с более точным измерением decimal.Decimal:

main.py

from decimal import Decimal

x = Decimal(8)

print(x.sqrt()) # 2.828427124746190097603377448

Извлечение квадратного корня по методу Ньютона (касательных) в Python

Метод Ньютона (также известный как метод касательных) — это итерационный алгоритм для приближенного вычисления корня функции. Он основывается на использовании касательной к кривой функции в точке итерации для нахождения более точного приближения корня.

Для использования метода Ньютона в Python можно написать следующую функцию:

main.py

def newton_sqrt(x, epsilon=1e-6):
    # Начальное приближение для корня
    z = 1.0
    # Итерация до достижения заданной точности
    while abs(z*z - x) >= epsilon:
        # Используем касательную к кривой функции в точке z для нахождения следующего приближения
        z -= (z*z - x) / (2*z)
    return z
    
print(newton_sqrt(4)) # 2.000000000001355
print(newton_sqrt(8)) # 2.8284271250498643
print(newton_sqrt(10)) # 3.162277660168379

В этой функции мы используем начальное приближение 1.0 и продолжаем итерацию до тех пор, пока разность между квадратом текущего приближения и исходным числом x не станет меньше заданной точности epsilon. Внутри цикла мы используем касательную к кривой функции в точке z для вычисления следующего приближения. Как только разность достигнет заданной точности, мы возвращаем текущее значение z как приближение к корню.

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

Извлечение квадратного корня с помощью библиотеки math

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

Для использования функции sqrt() из библиотеки math необходимо импортировать ее следующим образом:

main.py

import math

a = 8
b = math.sqrt(a)

print(b) # 2.8284271247461903

В данном примере мы импортировали функцию sqrt() из библиотеки math и применили ее к переменной a, содержащей значение 8.

Результатом выполнения функции sqrt() будет значение 2.8284271247461903, которое мы присваиваем переменной b.

Затем мы выводим значение b на экран с помощью функции print().

Извлечение квадратного корня с помощью библиотеки NumPy

Можно использовать библиотеку NumPy, которая предоставляет функцию sqrt(). Но перед использованием библиотеку NumPy необходимо ее установить: pip install numpy.

main.py

import numpy as np
x = 8
print(np.sqrt(x)) # 2.8284271247461903

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

Заключение

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

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

Содержание:развернуть

  • Что такое квадратный корень
  • Квадратный корень
  • Положительное число

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

  • Ноль

  • Кубический корень
  • Корень n-степени
  • Решение реальной задачи с использованием sqrt

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

Но обо всём по порядку.

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

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

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

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

a = 2
b = a ** 2

print(b)
> 4

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

import 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() корректно отрабатывает с нулём на входе. Результат тривиален и ожидаем:

print(math.sqrt(0))
> 0.0

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

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

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

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

print(b)
> 2.0

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

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

print(pow(8, 1/3))
> 2.0

Или же:

print(8 ** (1/3))
> 2.0

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

# извлечём корень 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 километра. Мы неспешно отходим на заданное расстояние от предполагаемого места строительства и задумчиво смотрим под ноги. В голове появляются очертания треугольника с вершинами:

  1. Ваше местоположение;
  2. Центр Земли;
  3. Пиковая высота вышки.

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

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

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

Перейти к контенту

В Python есть много способов найти квадратный корень числа.

Содержание

  1. Использование экспонентного оператора для извлечения квадратного корня числа
  2. Математическая функция sqrt()
  3. Математическая функция pow()
  4. Квадратный корень комплексного числа
  5. Квадратный корень матрицы или многомерного массива

Использование экспонентного оператора для извлечения квадратного корня числа

num = input("Please enter a number:n")

sqrt = float(num) ** 0.5

print(f'{num} square root is {sqrt}')

Вывод:

Please enter a number:
4.344
4.344 square root is 2.0842264752180846

Please enter a number:
10
10 square root is 3.1622776601683795

Я использую встроенную функцию float() для преобразования введенной пользователем строки в число с плавающей запятой.

Функция input() используется для получения пользовательского ввода из стандартного ввода.

Математическая функция sqrt()

Функция sqrt() математического модуля Python – это рекомендуемый подход для получения квадратного корня из числа.

import math

num = 10
num_sqrt = math.sqrt(num)

print(f'{num} square root is {num_sqrt}')

Вывод:

Квадратный корень из числа в Python

Математическая функция pow()

Это не рекомендуемый подход. Но квадратный корень из числа равен степени 0,5.

>>> import math
>>> 
>>> math.pow(10, 0.5)
3.1622776601683795
>>> 

Квадратный корень комплексного числа

Мы можем использовать модуль cmath, чтобы получить квадратный корень из комплексного числа.

import cmath

c = 1 + 2j

c_sqrt = cmath.sqrt(c)

print(f'{c} square root is {c_sqrt}')

Вывод:

(1+2j) square root is (1.272019649514069+0.7861513777574233j)

Квадратный корень матрицы или многомерного массива

Мы можем использовать функцию NumPy sqrt(), чтобы получить квадратный корень из элементов матрицы.

Помогаю в изучении Питона на примерах. Автор практических задач с детальным разбором их решений.

Понравилась статья? Поделить с друзьями:
  • Как найти только что сохраненный документ ворд
  • Как найти метки на 406 двигателе
  • Как найти базу отдыха на алтае
  • Как найти сервисный центр по гарантии
  • Как найти звуковые драйвера на мой компьютер