В этой статье мы рассмотрим, как извлечь корень в 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/.