Related Articles
Basic Approximations in Python
• Last Updated : 11 Nov, 2019

Approximation means to estimate the value of something which is not exactly but rather nearly correct. It plays a vital role in the field of science and technology. Let’s start with the most widely seen example. Have you ever used the exact value of Pi? Of course not. It is a non-terminating irrational number with a very long value. If we go on to write the exact value of Pi, probably even this article won’t be sufficient to do so:

`3.14159 26535 89793 23846 26433 83279...`

So here’s where approximation comes to play. We usually approximate the value of Pi as `3.14` or in terms of a rational number `22/7`. When you advanced to your high school, you probably must have seen a larger application of approximations in Mathematics which uses differentials to approximate the values of quantities like (36.6)^1/2 or (0.009) ^1/3. In computer science, we can use approximation to find the value or approximate the value of something using loops.

For example: Approximating the cube root of any number. Take a look at the process below:

 `# Python program to approximate ``# the cube root of 27``guess ``=` `0.0``cube ``=` `27``increment ``=` `0.0001``epsilon ``=` `0.1`` ` `# Finding the approximate value``while` `abs``(guess``*``*``3` `-` `cube) >``=` `epsilon:``    ``guess``+``=``increment`` ` `# Checking the approximate value``if` `abs``(guess``*``*``3` `-` `cube) >``=` `epsilon:``    ``print``(``"Failed on the cube root of"``,cube)``else``:``    ``print``(guess,``"is close to the cube root of"``,cube) `

The output of the above code is:

```2.9963000000018987 is close to the cube root of 27
```

As we can see that 2.99 is not the exact value of `(27)^1/3` but very close to the exact value 3. This is what we call approximation. Here we used a series of computations to approximate the value. First we declare a variable `guess = 0.0` which we will keep on increasing in a loop until its close to the cube root of 27. Another variable `epsilon` is chosen as less as possible to get a more accurate value. The line `while abs(guess**3 - cube) >= epsilon:` takes care of this. If it exits the loop with a value greater than `epsilon`, it means that we already crossed the approximated value and failed on the test. Else, it will return the value of guess.

Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course.

My Personal Notes arrow_drop_up