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

В этом примере посмотрим, как найти квадратный корень числа в Python — двумя способами: через оператор возведения в степень и через модуль cmath для комплексных чисел.

Что нужно знать

Перед изучением примера полезно понимать:

Пример. Для положительных чисел

# Python Program to calculate the square root

# Note: change this value for a different result
num = 8

# To take the input from the user
#num = float(input('Enter a number: '))

num_sqrt = num ** 0.5
print('The square root of %0.3f is %0.3f'%(num ,num_sqrt))

Вывод

The square root of 8.000 is 2.828

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

Исходный код. Для действительных и комплексных чисел

# Find square root of real or complex numbers
# Importing the complex math module
import cmath

num = 1+2j

# To take input from the user
#num = eval(input('Enter a number: '))

num_sqrt = cmath.sqrt(num)
print('The square root of {0} is {1:0.3f}+{2:0.3f}j'.format(num ,num_sqrt.real,num_sqrt.imag))

Вывод

The square root of (1+2j) is 1.272+0.786j

Здесь используется функция sqrt() из модуля cmath (complex math), которая корректно работает с комплексными числами.

Примечание

Чтобы принять комплексное число от пользователя напрямую (например, 3+4j), вместо float() нужно использовать eval() — она преобразует строку в комплексный объект Python.

Обратите внимание на форматирование вывода через format() — оно позволяет красиво показать действительную и мнимую части по отдельности.