Find square root in python

Square root of a number is a value, which, when multiplied by itself results in the value. Square root is represented by √ symbol. Thus,
√9 = 3, since 3 * 3 = 9.
In this article, we will look at different ways to calculate square root with python.

Method 1: Using ** operator
** operator is used to raise a number to some power. Square root of a number is the number raised to a power of 1/2.
Thus,

Square root = (Number)1/2

Or

Square root = (Number)0.5

Using this formula, python program to get square root can be written as

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# read number
num = int(input('Enter a number: '))
sqrt = num ** 0.5
print('Square root is:', sqrt)
# read number num = int(input('Enter a number: ')) sqrt = num ** 0.5 print('Square root is:', sqrt)
# read number
num = int(input('Enter a number: '))
sqrt = num ** 0.5
print('Square root is:', sqrt)

Output is

Enter a number: 12
Square root is: 3.4641016151377544

Method 2: Using pow() function
Python’s math module has a pow() function which takes 2 arguments:
1. Number whose square root needs to be calculated.
2. Power to which the number should be raised.

As stated above, square root of a number can be calculated by raising it to power 1/2 or 0.5. Hence, 0.5 supplied as second argument to pow() results in square root of number. Example,

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
import math
num = int(input('Enter a number: '))
# raise number to power of 0.5
sqrt = math.pow(num,0.5)
print('Square root is:', sqrt)
import math num = int(input('Enter a number: ')) # raise number to power of 0.5 sqrt = math.pow(num,0.5) print('Square root is:', sqrt)
import math

num = int(input('Enter a number: '))
# raise number to power of 0.5
sqrt = math.pow(num,0.5)
print('Square root is:', sqrt)

Output is

Enter a number: 25
Square root is: 5.0

Method 3: Using isqrt() function
isqrt() function of math module calculates the square root of the values supplied as argument and returns the integer or whole number part of square root. Example,

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
import math
num = int(input('Enter a number: '))
sqrt = math.isqrt(num)
print('Square root is:', sqrt)
import math num = int(input('Enter a number: ')) sqrt = math.isqrt(num) print('Square root is:', sqrt)
import math

num = int(input('Enter a number: '))
sqrt = math.isqrt(num)
print('Square root is:', sqrt)

Output of this program is

Enter a number: 27
Square root is 5

Note that the square root of 25 is 5.2(rounded off) but isqrt() returns its integer part, that is, 5.
Square root of complex numbers
Complex numbers are represented as x + yj
where,
x and y are real numbers and j is imaginary unit.

It is possible to find the square root of a complex number using sqrt() function of python’s cmath module.
sqrt() accepts a complex number as argument and returns its square root.
Real and imaginary parts of the square root can be accessed using real and imag fields of this square root respectively.
Example program is given below

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
import cmath
# define a complex number
num = 5 + 4j
# find its square root
sqrt = cmath.sqrt(num)
print('Square root is {0:0.2f} + {1:0.2f}j'.format(sqrt.real,sqrt.imag))
import cmath # define a complex number num = 5 + 4j # find its square root sqrt = cmath.sqrt(num) print('Square root is {0:0.2f} + {1:0.2f}j'.format(sqrt.real,sqrt.imag))
import cmath

# define a complex number
num = 5 + 4j
# find its square root
sqrt = cmath.sqrt(num)
print('Square root is {0:0.2f} + {1:0.2f}j'.format(sqrt.real,sqrt.imag))

This prints

Square root is 2.39 + 0.84j

Square root values are formatted to 2 decimal places.

Hope the article was useful.