Home Resource Centre Python Program To Find The Square Root (8 Methods + Code Examples)

Python Program To Find The Square Root (8 Methods + Code Examples)

Calculating the square root of a number is a fundamental operation that you must be familiar with in mathematics. The square root of a number is defined as a value or number whose square produces the initial number. This mathematical concept (like many others) translates into programming as well. In this article, we will discuss how to write a Python program to find the square root of a number using various techniques.

Python language, with its simplicity and versatility, offers various methods to compute square roots efficiently. There are many different approaches to finding the square root in Python, including built-in functions, mathematical libraries, and iterative methods.

What Is A Square Root?

A square root is a mathematical operation that, when applied to a non-negative real number, returns a value that, when multiplied by itself, equals the original number. In simpler terms, it is a number that, when multiplied by itself, yields the original number.

Suppose x is the square root of y, then it is represented as x=√y, or we can express the same equation as x2 = y. Here, (√) is the radical symbol used to represent the root of numbers. For example, the square root of 9 is 3 because 3 multiplied by itself (3 * 3) equals 9.

Square roots are fundamental in various mathematical and scientific contexts, like calculating distances, solving equations, finding areas and volumes, and many other real-world applications.

Python Program To Find The Square Root Of A Number

You can write a Python program to find the square root of a number using a variety of methods. For this, you must be familiar with writing Python code, defining variables, creating functions, and various operators to write efficient code to find square roots using Python. Before diving into writing a Python program to find the square root, it's essential to have a basic understanding of the following concepts:

  1. Variables and Data Types: Familiarity with variables and different data types in Python, such as integers (int), floating-point numbers (float), and mathematical operations.
  2. Operators & Operations: Understanding various operators in Python, including arithmetic operators, relational operators, logical operators, etc.
  3. Control Flow: Knowledge of control flow structures like conditional statements (if-else) and loops (for, while) to control the flow of the program.
  4. Functions: Understanding how to define and call functions in Python to encapsulate reusable pieces of code.

General Outline Of Python Program To Find The Square Root Of A Number

Here's a general outline of a Python program to find the square root of a number:

  1. Prompt the user to enter a number for which they want to find the square root.
  2. Convert the input from string format to a numerical data type (integer or float) for computation.
  3. Check if the number is valid for the method. For example, there are some methods where you can calculate the square root of a negative number, but for others you must check the input number.
  4. Perform the square root calculation using one of the available methods like the built-in sqrt() function from the math module, Newton's method, or binary search.
  5. Display the result of the square root calculation to the user.

The pow() Function In Python Program To Find The Square Root Of Given Number

We can use the pow() function from the math library to write a Python program to find the square root of a number. It is one of the simplest and most efficient methods and can be used with both integers and float numbers. However, it always returns a float value, irrespective of the input data type.

  • The function pow takes two parameters, namely the input number and the exponent.
  • The exponent is used to specify the power to which the given number is to be raised.
  • This returns the required value of the given number raised to the power of exponent.
  • Hence, we use the power of 0.5 for the purpose of calculating the square root. 

Syntax:

pow(number, exponent)

Here,

  • The name of the function is pow() and the parentheses contain number referring to the input number whose square root we are finding.
  • The term exponent refers to the power to which the given number is to be raised. Since we are writing a Python program to find the square root of a number, this power will be 0.5.

The basic Python program example below illustrates how to use this function.

Code Example:

Output:

7.0

Explanation:

In the basic Python code example-

  1. We use the pow() function to calculate the exponentiation of 49 raised to the power of 0.5, which effectively computes the square root of 49.
  2. The outcome of the calculation is assigned to the variable a. Note that the first argument of pow() is the base (49), and the second argument is the exponent (0.5).
  3. Then, we use the print() function to display the value stored in variable a, which is the square root of 49, i.e., 7.

Time Complexity: O(1)

Python Program To Find Square Root Using The sqrt() Function

The sqrt() function is a component of the math module in Python and is considered one of the most accurate methods to calculate the square root of a number. It takes a number as input and returns its square root using the algorithm of binary search.

  • Similar to the pow() function, the sqrt() function also belongs to the math module.
  • But unlike pow(), this function does not require two arguments.
  • It only inputs a number and directly returns its square root.

Given below is the syntax for the function followed by two examples. In one, we directly call the function with a given number and in the next, we take the user-generated number and check for validity.

Syntax:

math.sqrt(number)

Here,

  • sqrt() is the predefined method to find the square root function of the math module.
  • The number refers to the input number whose square root we are finding.

Look at the simple Python program example below to see how to use this function to write a program to find the square root of a given number. 

Code Example:

Output:

4.0

Explanation:

In the simple Python code example-

  1. We import the math module to use the sqrt() function, which calculates the square root of a number.
  2. Then, we use the math.sqrt() function to calculate the square root of 16 and the outcome is stored in variable a.
  3. Next, we use the print() function to display the value of the square root of 16 in a, i.e., 4.

Time Complexity: O(1)

In the simple example above, we use a given number and sqrt() function. Now, let's look at a Python program sample that shows how to use the sqrt() function from the math module to calculate the square root of a user input number.

Note that here we will check the validity of the number (as mentioned in the outline section above) since sqrt() can be used only on positive numbers.

Code Example:

Output:

Enter a number to find its square root: 78
Square root of 78.0 is: 8.831760866327848

Explanation:

In the Python code sample-

  1. We import the math module to use the sqrt() function, which calculates the square root of a number.
  2. Then, we define the function find_square_root() to find the square root of a number.
  3. Inside the function:
    • We prompt the user to enter a number to find its square root using the input() function
    • We convert the input string variable to a floating-point number using the float() function
    • If the input cannot be converted to a float, a ValueError exception is caught by the try-except block, and an error message is printed.
    • If the input number is non-negative, i.e., num>=0, we calculate its square root using the math.sqrt() method and print the result.
    • If the input number is negative, we print an error message indicating that the square root of a negative number cannot be found.
  4. In the main part, we call the find_square_root() function to execute the square root calculation.
  5. As shown in the output console, the input provided is 78, and the function invoked prints the square root.

The cmath Module & Python Program To Find The Square Root Of A Number

Similar to the math module, the cmath module (complex math) is a math library function module that can also be used to find the square root of a number. However, unlike the math module, this module operates on complex numbers, i.e., its sqrt() function is used to calculate the square root of a complex number.

Even if we input a purely real number, this module interprets it as a complex number with zero imaginary parts. It further processes the input according to the given syntax and returns a complex value as the output. For example, if we input (3+4j) as the argument of the sqrt() function, it returns (2+1j) as the output.

Syntax:

import cmath
cmath.sqrt(number)

Here,

  • The sqrt function is the in-built function of the cmath module, which can be used on complex objects/ numbers.
  • The number refers to the input complex number whose square root we are finding.

The sample Python program below illustrates the use of the sqrt() function from cmath to find the square root of a number. 

Code Example:

Output:

(2.455835677350843+1.4251767869809258j)

Explanation:

In the sample Python code-

  1. We import the cmath module to work with complex numbers.
  2. Then, we use the cmath.sqrt() function to calculate the square root of a complex number. In this case, the complex number is 4 + 7j.
  3. The result of this calculation is assigned to the variable a, which we then print to the console using the print() function.
  4. The output will be the square root of the complex number 4 + 7j, which is a complex number itself.

Time Complexity: O(log(n))

Python Program To Find Square Root Using The Exponent Operator (**)

The exponent operator, also known as the power operator (**) raises the given number to the specified power. For example, 5 ** 2 equals 25 because 5 raised to the power of 2 is 25. We can use this operator to write a Python program to find the square root of a number.

To find the square root of a number using the ** operator, you need to raise the number to the power of 0.5. However, there are some points we need to keep in mind while using this method:

  1. The given number must be positive. If we input a negative number with the exponential operator, it will return a complex number as the output.
  2. The exponential operator returns an accurate approximation of the square root, whose accuracy depends on the number. For example, it will return the accurate square root of 16 but not for 17.

Syntax:

(number)**(exponent)

Here,

  • The double asterisk (**) is the exponent operator.
  • The number refers to the input number whose square root we are finding.
  • And exponent refers to the power to which the given number is to be raised.

The example Python program given below illustrates the use of the exponent operator to find the root of a given number.

Code Example:

Output:

4.0

Explanation:

In the example Python code-

  1. We declare a variable a and assign it the outcome of the exponential operation. 
  2. For this, we use the exponentiation operator ** to calculate the square root of 16, which is equivalent to raising 16 to the power of 0.5.
  3. Next, we use the print() function to display the root of 16, i.e., 4.

Time Complexity: O(n^2)

Python Program To Find Square Root With A User-Defined Function

The process of creating a user-defined function to find the square root of a number in Python does not use a specific algorithm. It simply refers to defining a function in the program that uses another in-built function method to calculate the root and return the output value.

Let us simplify this concept with the help of an example that defines a user-defined function named find_square_root to calculate the square root of a given number using the Babylonian method (also known as Heron's method). This method is an iterative algorithm that gradually refines the approximation of the square root until it converges to the correct value.

Below is a Python program example illustrating how to create a user-defined function with this iterative approach.

Code Example:

Output:

Square root of 25 is approximately: 5.000000000016778

Explanation:

In the Python code example-

  1. We define the function find_square_root() to approximate the square root of a given number using Newton's method.
  2. The function takes two parameters: number (the number for which we want to find the square root) and precision (the precision level for the approximation, with a default value of 0.0001).
  3. Inside the function, we use an if-statement to check if the input number is negative, i.e., number<0.
  4. If the condition is true, the function returns a message indicating that the square root of a negative number is undefined. If the condition is false, the flow moves to the next line in the function definition.
  5. Next, we initialize a variable guess with the value (number / 2), as an initial guess for the square root. This initial guess could be any reasonable value.
  6. Then, we enter a while loop that continues until the absolute difference between the square of the guess variable and the number variable is less than or equal to the specified precision, i.e., (guess*guess - number) > precision
  7. We use the abs() function to calculate the absolute value in the previous step.
  8. Inside the loop, we update the guess variable using Newton's method formula, i.e., guess = (guess + number/guess) / 2.
  9. Once the loop terminates, the function returns the final value of guess, which is an approximation of the square root of the input number.
  10. In the main part of the program, we declare a variable number and initialize it with the value 25.
  11. Then, we call the find_square_root() function with number as the argument, which returns an approximation of the square root of number. The outcome is assigned to the result variable.
  12. Lastly, we use the print() function with a formatted string message to print the value of the approximation of the square root of the number.

Time Complexity: O(log n)

Python Program To Find Square Root Using A Class

A class in Python may be defined as a template for creating objects that have similar properties and behaviors. It is a way of organizing the code so that it can be reused in the program further.

We can write a Python program to find the square root of a number using the concept of classes. Within this, a constructor is used to input a number and calculate its square root using the method defined inside the class.

Code Example:

Output:

5

Explanation:

In the Python code-

  1. We define a class SqRt to represent an object that calculates the square root of a given number.
  2. The class has an __init__() method, which acts as a constructor. It initializes the object with the given num.
  3. Inside the constructor, we assign the value of num passed as an argument to the instance variable self.num.
  4. The class also has a method calc_sqrt(), which calculates the square root of the number stored in self.num.
  5. Inside this method, we initialize a variable sqrt to 0 to store the calculated square root.
  6. Then, we use a for loop to iterate through numbers from 1 to self.num. In the loop, we have an if-else statement.
    • The if condition checks if the square of the current number (i * i) is less than or equal to self.num, i.e., i * i <= self.num.
    • If the condition is true, the if-block updates the value of the sqrt variable to the current number i.
    • If the condition is false, i.e., the square of the current number exceeds self.num, then the else-block is executed, and the break statement makes the flow break out of the loop.
  7. In the main part of the program, we first initialize a variable num with the value 25.
  8. Then, we create an instance sqrt_obj of the SqRt class with the num variable.
  9. Next, we call the calc_sqrt() method on sqrt_obj object to calculate the square root of the number stored in num.
  10. Lastly, we use the print() function to display the value of the square root.

Time Complexity: O(√n)

Python Program To Find Square Root Using Binary Search

The binary search method is also known as the half-interval search or logarithmic search. It is used to find the position of the target value, i.e., the square root of the given number, within a sorted range. This is done by comparing this target value to that of the middle element of the range. Below is an example Python program to find the square root of a number using this approach.

Code Example:

Output:

3

Explanation:

In the code-

  1. We first define a function square_root(num) to calculate the square root of a given number (here, parameter num) using binary search.
  2. Inside the function, we initialize two variables, low and high, with the values 0 and num, respectively. These will act as the lower and upper bounds for the binary search.
  3. Then, we employ a while loop that iterates until the loop condition low<=high, i.e., low is less than or equal to high, is true.
  4. In the loop, we calculate the midpoint of the range from the average of low and high and assign this to the variable mid.
  5. Next, we use an if-elif-else statement to calculate and return the square root. Here-
    • The if-condition checks if the square of mid is equal to num, i.e., mid*mid==num. If this is true, then mid is returned as the square root. If not, then we will move to the next line.
    • The elif-condition checks whether the square of mid is less than num, i.e., mid*mid<num. If so, the value of low is updated to mid + 1 to search in the higher half.
    • If this is also false, then it means that the square of mid is greater than num. So, we move to the else-block and update the value of high to mid-1 to search in the lower half.
  6. If the loop exits without finding the exact square root, the last value of mid is returned as an approximation.
  7. In the main part, we call the square_root() function with an argument of 9 inside a print() function.
  8. The function calculates the square root of 9 using binary search and prints the result to the console.

Time Complexity: O(log n)

Python Program To Find Square Root Using NumPy Module

The NumPy module in Python is a collection of mathematical functions for the array objects. Similar to the math and cmath modules, this module also contains the sqrt() function to find the square root of a number in Python. The numpy.sqrt() function is used explicitly to find the square root of the elements in an array.

Syntax:

numpy.sqrt(arr)

Here,

  • The sqrt() is the inbuilt function of the numpy module.
  • The arr refers to an array of objects that is a parameter for the sqrt() function. The function will find the square root of each number in the array.

Code Example:

Output:

[2. 3. 4. 5.]

Explanation:

In the above code-

  1. We first import the numpy module to utilize its mathematical functions.
  2. Then, we create a NumPy array arr containing the numbers [4, 9, 16, 25], using the array() function.
  3. Next, we use the numpy.sqrt() function to calculate the square root of each element in the array arr.
  4. The numpy.sqrt() function returns a new array containing the square roots of the elements in the input array, which is printed to the console by the print() function.

Time Complexity: O(n)

Conclusion

We can write a Python program to find the square root of a number using various techniques, functions, or methods. These include the in-built square root function from the various modules, i.e., math, cmath, and  NumPy. We can also implement iterative algorithms like Heron's method or binary search. All in all, the Python programming language provides flexibility and efficiency in square root calculations. Understanding these methods equips programmers with the tools to handle square root computations effectively in their projects.

Frequently Asked Questions

Q. How to find an exponent in Python?

There are many built-in methods in Python to find an exponent. These include the pow() function and the exponent (**) operator, where a given number is raised to a specific value. 

Syntax for Exponent (**) Operator:

(number) ** (exponent)

Here, the double asterisk (**) is the operator, the number refers to the input number, and the exponent refers to the power to which the given number is to be raised.

Code Example:

Output:

8

Explanation:

  1. We begin by initializing a variable named expon.
  2. This variable defines the operation of raising the given number to the power of a specified exponent. Here, we input 3 as the exponent.
  3. We then instruct the program to output the value of the given variable using the print() function.
  4. Hence, we obtain 8 as the square of the input number 2.

Q. How do you square a number in Python?

Squaring a number is similar to using the methods of exponent in Python. We can use the pow() function or the exponent (**) operator to raise the given number to the power 2 and obtain the squared value. For this, we input the second argument of the pow() function as 2 to obtain the answer. The functions pow(3,2) and 3**2 return the value 9, i.e., the square of the number 3.

Code Example:

Output:

4

Explanation:

  1. We begin by initializing a variable sqr. and assign it the value using the pow() function.
  2. In the pow() function, we have the first input as 5, which is the number that we want to sqaure.
  3. And the second argument is 2, since we want to calculate the square (power 2) of the first number.

Q. How do you find a cube root in Python?

We can use the same methods of exponentiation to find the cube root of a given number by only changing the value of the exponent, i.e., to which the given number is to be raised. For the purpose of obtaining the cube root, we raise the number to the power of 1⁄3, i.e., pow(27,⅓) and 27**(⅓) return the value 3 as the cube root of the number 27.

Code Example:

Output:

3.0

Explanation:

  1. We begin by initializing a variable cube_root and assigning it the value of number 27, raised to the power (1/3) using the exponent (**) operator.
  2. Then, we use the print() function to display the value for the same.

Q. How do you square root an array in Python?

The most suitable method of calculating the square root of an array in Python is to use the sqrt() function under the NumPy module. The numpy.sqrt() function takes an array as the input and returns the array of the square roots of each element.

Syntax:

numpy.sqrt(array)

Here, the function sqrt() is predefined in the NumPy module, and the array is the input array argument. 

Code Example:

Output:

[1. 2. 3. 4. 5.]

Explanation:

  1. We begin our program by importing the numpy module into our program.
  2. Next, we define a variable named array into the module with the values 1, 4, 9, 16, 25 in it.
  3. We further instruct the program to return the square root using the numpy.sqrt() function on the array.
  4. Hence, we obtain the array of square roots as [1. 2. 3. 4. 5.] using the print() function.

Q. What is the fastest way to find square roots in Python?

The fastest method of finding square roots in Python usually depends on the requirements. However, in general, the sqrt() function of the math module is considered the best choice as it is fast and available for all versions of Python. This function is considered the absolute fastest in the NumPy module of Python as well.

Syntax:

math.sqrt(number)

Here, the function sqrt() is defined in the math module, and the parameter number is the values whose root will be calculated.

Code Example:

Output:

4.0

Explanation:

  1. We begin our code by importing the math module to use the sqrt() function.
  2. Next, we define the variable a, which stores the math.sqrt() function with 16 as the input argument.
  3. Then, we print the value of an (i.e., the square root) using the print() function.

You must now know how to write a Python program to find the square root of a number. Here are a few more topics you will enjoy exploring:

  1. 12 Ways To Compare Strings In Python Explained (With Examples)
  2. Python Bitwise Operators | Positive & Negative Numbers (+Examples)
  3. Python String.Replace() And 8 Other Ways Explained (+Examples)
  4. How To Reverse A String In Python? 10 Easy Ways With Examples
  5. Difference Between List And Tuple In Python With Examples
Shivani Goyal
Manager, Content

An economics graduate with a passion for storytelling, I thrive on crafting content that blends creativity with technical insight. At Unstop, I create in-depth, SEO-driven content that simplifies complex tech topics and covers a wide array of subjects, all designed to inform, engage, and inspire our readers. My goal is to empower others to truly #BeUnstoppable through content that resonates. When I’m not writing, you’ll find me immersed in art, food, or lost in a good book—constantly drawing inspiration from the world around me.

TAGS
Python programming language Computer Science Engineering
Updated On: 28 Nov'24, 10:49 PM IST