Квадратный корень из числа — это значение, которое при умножении само на себя дает исходное число. Каждое положительное число имеет два квадратных корня (то же значение с положительным и отрицательным знаками). Ниже приводится запись квадратного корня:√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.
Обновлено: 2023-04-10T21:49:57.977715+03:00 Причина: Добавлены новые способы извлечения квадратного корня
Извлечение квадратного корня – это одна из самых базовых операций в математике, которая часто используется в научных и инженерных вычислениях. В этой статье мы рассмотрим, как извлечь квадратный корень на 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(), которая возвращает квадратный корень числа. Она определяет квадратный корень из значения, которое умножается на само себя и дает число. Функция sqrt() не используется напрямую для нахождения квадратного корня из заданного числа, поэтому нам нужно использовать математический модуль для вызова функции sqrt() в Python.
Например, квадратный корень из 144 равен 12.
Использование метода math.sqrt()
Функция sqrt() – это встроенная функция, которая возвращает квадратный корень из любого числа. Ниже приведены шаги, чтобы найти квадратный корень из числа.
- Запустите программу.
- Определите любое число, квадратный корень которого нужно найти.
- Вызовите функцию sqrt() и передайте значение, которое вы определили на шаге 2, сохраните результат в переменной.
- Выведите квадратный корень.
- Завершите программу.
Давайте напишем программу на Python.
SqrRoot.py
import math # import math module N = 25 # define the value to the variable N result = math.sqrt(N) # use math.sqrt() function and pass the variable. print(" Square root of 25 is :", result) # prints the square root of a given number M = 625 # define the value result = math.sqrt(M) # use math.sqrt() function and pass the variable print(" Square root of 625 is :", result) # prints the square root of a given number P = 144 # define the value result = math.sqrt(P) # use math.sqrt() function and pass the variable print(" Square root of 144 is :", result) # prints the square root of a given number S = 64 # define the value result = math.sqrt(S) # use math.sqrt() function and pass the variable print(" Square root of 64 is :", result) # prints the square root of a given number
Выход:
Давайте создадим программу на Python, которая находит квадратный корень десятичных чисел.
SqrRoot.py
import math print(" The Square root of 4.5 is", math.sqrt(4.5)) # Pass the decimal number print(" The Square root of 627 is", math.sqrt(627)) # Pass the decimal number print(" The Square root of 6.25 is", math.sqrt(6.25)) # Pass the decimal number print(" The Square root of 0 is", math.sqrt(0)) # Pass number as 0
Выход:
В следующей программе мы прочитали число от пользователя и нашли квадратный корень.
SqRoot_Usr.py
import math # import math module a = int(input("Enter a number to get the Square root")) # take an input res = math.sqrt(a) # Use math.sqrt() function and pass the variable a. print("Square root of the number is", res) # print the Square Root
Выход:
Использование функции math.pow()
Pow() – это встроенная функция, которая используется в Python для возврата степени числа. У него два параметра. Первый параметр определяет число, а второй параметр определяет увеличение мощности до этого числа.
Pow_Sqrt.py
import math # import the math module num = float(input("Enter the number :")) # take an input SquareRoot = math.pow(num, 0.5) # Use the math.pow() function and pass the value and 0.5(which is equal to √) as an parameters print(" The Square Root of the given number {0} = {1}" .format(num, SquareRoot)) # print the Square Root.
Выход:
Использование оператора **
Мы также можем использовать оператор экспоненты, чтобы найти квадратный корень из числа. Оператор может применяться между двумя операндами. Например, x ** y. Это означает, что левый операнд возведен в степень правого.
Ниже приведены шаги, чтобы найти квадратный корень из числа.
- Шаг 1. Определите функцию и передайте значение в качестве аргумента.
- Шаг 2. Если заданное число меньше 0 или отрицательное, оно ничего не возвращает.
- Шаг 3. Используйте экспоненциальный знак **, чтобы найти степень числа.
- Шаг 4. Возьмите числовое значение у пользователя.
- Шаг 5. Вызовите функцию и сохраните ее вывод в переменной.
- Шаг 6. Отобразите квадратный корень числа в Python.
- Шаг 7. Выход из программы.
Давайте реализуем вышеуказанные шаги.
SqrtFun.py
import math # import the math package or module def sqrt_fun(num): # define the sqrt_fun() and pass the num as an argument if num < 0: # if num is less than 0 or negative, it returns nothing return else: return num ** 0.5 # Use the exponent operator num = int(input(" Enter a numeric value: ") ) # take an input from the user res = sqrt_fun(num) # call the sqrt_fun() to find the result print(" Square Root of the {0} = {1}".format(num, res)) # print the Square Root of the variable
Выход:
Как мы видим в приведенном выше примере, сначала мы берем ввод(число) от пользователя, а затем используем оператор степени **, чтобы узнать степень числа. Где 0,5 равно √(символ корня), чтобы увеличить степень данного числа.
Давайте создадим программу Python, которая находит квадратный корень из указанного диапазона, в следующей программе вычисление из всех чисел от 0 до 50.
Sqrloop.py
import math for i in range(50): print("Square root of a number {0} = {1}".format(i,math.sqrt(i)))
Выход:
Изучаю 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 есть много способов найти квадратный корень числа.
Содержание
- Использование экспонентного оператора для извлечения квадратного корня числа
- Математическая функция sqrt()
- Математическая функция pow()
- Квадратный корень комплексного числа
- Квадратный корень матрицы или многомерного массива
Использование экспонентного оператора для извлечения квадратного корня числа
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}')
Вывод:
Математическая функция 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(), чтобы получить квадратный корень из элементов матрицы.
Помогаю в изучении Питона на примерах. Автор практических задач с детальным разбором их решений.