Python Pit Stop

The Python Square Root Function

by Alex Ronquillo Nov 03, 2024 basics

Watch Now This tutorial has a related video course created by the Real Python team. Watch it together with the written tutorial to deepen your understanding: The Square Root Function in Python

The Python square root function, sqrt(), is part of the math module and is used to calculate the square root of a given number. To use it, you import the math module and call math.sqrt() with a non-negative number as an argument. For example, math.sqrt(9) returns 3.0.

This function works with both integers and floats and is essential for mathematical operations like solving equations and calculating geometric properties. In this tutorial, you’ll learn how to effectively use the square root function in Python.

By the end of this tutorial, you’ll understand how:

  • Python’s sqrt() function calculates square roots using Python’s math.sqrt() for quick and accurate results in your programs.
  • math.sqrt() calculates the square root of positive numbers and zero but raises an error for negative inputs.
  • Python’s square root function can be used to solve real-world problems like calculating distances using the Pythagorean theorem.

Time to dive in!

Square Roots in Mathematics

In algebra, a square, x, is the result of a number, n, multiplied by itself: x = n²

You can calculate squares using Python:

Python
>>> n = 5
>>> x = n**2
>>> x
25

The Python ** operator is used for calculating the power of a number. In this case, 5 squared, or 5 to the power of 2, is 25.

The square root, then, is the number n, which when multiplied by itself yields the square, x.

In this example, n, the square root of 25, is 5.

25 is an example of a perfect square. Perfect squares are the squares of integer values:

Python
>>> 1**2
1

>>> 2**2
4

>>> 3**2
9

You might have memorized some of these perfect squares when you learned your multiplication tables in an elementary algebra class.

If you’re given a small perfect square, it may be straightforward enough to calculate or memorize its square root. But for most other squares, this calculation can get a bit more tedious. Often, an estimation is good enough when you don’t have a calculator.

Fortunately, as a Python developer, you do have a calculator, namely the Python interpreter!

The Python Square Root Function

Python’s math module in the standard library can help you work on math-related problems in code. It contains many useful functions, such as remainder() and factorial(). It also includes the Python square root function, sqrt().

You’ll begin by importing math:

Python
>>> import math

That’s all it takes! You can now use math.sqrt() to calculate square roots.

sqrt() has a straightforward interface. It takes one parameter, x, which as you saw before, stands for the square you want to calculate the square root for. In the example from earlier, this would be 25.

The return value of sqrt() is the square root of x, as a floating-point number. In the example, this would be 5.0.

Next, you’ll take a look at some examples of how to use sqrt() and how not to use sqrt().

The Square Root of a Positive Number

One type of argument you can pass to sqrt() is a positive number. This includes both int and float types.

For example, you can solve for the square root of 49 using sqrt():

Python
>>> math.sqrt(49)
7.0

The return value is 7.0, the square root of 49, as a floating-point number.

Along with integers, you can also pass float values:

Python
>>> math.sqrt(70.5)
8.396427811873332

You can verify the accuracy of this square root by calculating its inverse:

Python
>>> 8.396427811873332**2
70.5

The Square Root of Zero

Even 0 is a valid square to pass to the Python square root function:

Python
>>> math.sqrt(0)
0.0

While you probably won’t need to calculate the square root of zero often, you may be passing a variable to sqrt() whose value you don’t actually know. So, it’s good to know that it can handle zero in those cases.

The Square Root of Negative Numbers

The square of any real number can’t be negative. This is because a negative product is only possible if one factor is positive and the other is negative. A square, by definition, is the product of a number and itself, so it’s impossible to have a negative real square:

Python
>>> math.sqrt(-25)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: math domain error

If you attempt to pass a negative number to sqrt(), then you’ll get a ValueError because negative numbers aren’t in the domain of possible real squares. Instead, the square root of a negative number would need to be complex, which is outside the scope of the Python square root function.

Square Roots in the Real World

To see a real-world application of the Python square root function, you’ll turn to the sport of tennis.

Imagine that Alex de Minaur, one of the fastest players in the world, has just hit a forehand from the back corner, where the baseline meets the sideline of the tennis court:

Python Pit Stop: Tennis Ball Hit From Baseline

Now, assume his opponent has countered with a drop shot—one that would place the ball short with little forward momentum—to the opposite corner, where the other sideline meets the net:

Python Pit Stop: Tennis Ball Returned At The Net

How far must Nadal run to reach the ball?

You can determine from regulation tennis court dimensions that the baseline is 27 feet long, and the sideline on one side of the net is 39 feet long. So, essentially, this boils down to solving for the hypotenuse of a right triangle:

Python Pit Stop: Solving For The Hypotenuse Using The Square Root

Using a valuable equation from geometry, the Pythagorean theorem, you know that a² + b² = c², where a and b are the legs of the right triangle and c is the hypotenuse.

Therefore, you can calculate the distance Nadal must run by rearranging the equation to solve for c:

Pythagorean Theorem: Solve For C

You can solve this equation using the Python square root function:

Python
>>> a = 27
>>> b = 39
>>> math.sqrt(a**2 + b**2)
47.43416490252569

So, Nadal must run about 47.4 feet (14.5 meters) in order to reach the ball and save the point.

Conclusion

Congratulations! You now know all about the Python square root function.

In this tutorial, you’ve covered:

  • A brief introduction to square roots
  • The ins and outs of the Python square root function, sqrt()
  • A practical application of sqrt() using a real-world example

Knowing how to use sqrt() is only part of the equation. Understanding when to use it is equally important. Now that you know both, go ahead and apply your newfound mastery of the Python square root function!

FAQs

You now have some experience with square roots in Python. Below, you’ll find a few questions and answers that sum up the most important concepts that you’ve covered in this tutorial.

You can use these questions to check your understanding or to recap and solidify what you’ve just learned. After each question, you’ll find a brief explanation hidden in a collapsible section. Click the Show/Hide toggle to reveal the answer.

To find the square root in Python, you use the math.sqrt() function. First, import the math module, then call math.sqrt() with the number you want to find the square root of. For example, math.sqrt(16) returns 4.0.

Yes, you can calculate the square root of negative numbers in Python, but not with the math.sqrt() function. Instead, you should use cmath.sqrt(). Attempting to calculate the square root of a negative number with math.sqrt() will result in a ValueError because this function can’t handle negative numbers.

You can use both math.sqrt() and pow() to find a square root in Python. While both will return the same result for non-negative numbers, math.sqrt() is more readable and specifically designed for this purpose.

To use the square root function in Python, you need to import it from the math module. Use the statement import math and then call math.sqrt() to find the square root of a number.

Yes, you can calculate the square root without importing the math module by using the exponent operator ** or the built-in pow() function. For example, 4**0.5 will return 2.0, giving you the same result as math.sqrt().

Watch Now This tutorial has a related video course created by the Real Python team. Watch it together with the written tutorial to deepen your understanding: The Square Root Function in Python

🐍 Python Tricks 💌

Get a short & sweet Python Trick delivered to your inbox every couple of days. No spam ever. Unsubscribe any time. Curated by the Real Python team.

Python Tricks Dictionary Merge

About Alex Ronquillo

Alex Ronquillo is a Software Engineer at thelab. He’s an avid Pythonista who is also passionate about writing and game development.

» More about Alex

Each tutorial at Real Python is created by a team of developers so that it meets our high quality standards. The team members who worked on this tutorial are:

Master Real-World Python Skills With Unlimited Access to Real Python

Locked learning resources

Join us and get access to thousands of tutorials, hands-on video courses, and a community of expert Pythonistas:

Level Up Your Python Skills »

Master Real-World Python Skills
With Unlimited Access to Real Python

Locked learning resources

Join us and get access to thousands of tutorials, hands-on video courses, and a community of expert Pythonistas:

Level Up Your Python Skills »

What Do You Think?

Rate this article:

What’s your #1 takeaway or favorite thing you learned? How are you going to put your newfound skills to use? Leave a comment below and let us know.

Commenting Tips: The most useful comments are those written with the goal of learning from or helping out other students. Get tips for asking good questions and get answers to common questions in our support portal.


Looking for a real-time conversation? Visit the Real Python Community Chat or join the next “Office Hours” Live Q&A Session. Happy Pythoning!