Извлечение квадратного корня
В этом примере посмотрим, как найти квадратный корень числа в Python — двумя способами: через оператор возведения в степень и через модуль cmath для комплексных чисел.
Что нужно знать
Перед изучением примера полезно понимать:
Базовый ввод и вывод в Python — ввод и вывод
Типы данных Python — типы данных
Операторы в Python — операторы
Пример. Для положительных чисел
# 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() — оно позволяет красиво показать действительную и мнимую части по отдельности.