math ExamplesUse math methods. Review methods like sqrt, math.floor and math.ceil.
This page was last reviewed on May 23, 2023.
Math. In Python we discover many built-in mathematical functions. Consider a square root—we just call math.sqrt. No custom code is required.
Function notes. We can apply floors and ceilings to reduce, and increase, fractional numbers. With sum() and fsum we can add up numbers.
Floor, ceil. Two common math functions are floor and ceil. Floor removes the digits past the decimal place. In this example it changes 100.7 to 100.
And Ceil() rounds the number up to the next highest one. A ceiling is always above us.
Tip When using methods like floor and ceil, consistency is helpful. If some parts of the program use these methods, others should too.
import math # Fractional number. n = 100.7 # Absolute value. print(math.floor(n)) print(math.ceil(n))
100 101
Sum, fsum. With sum, we add together the elements in a list. Fsum is a more accurate way to sum floating-point numbers. On integers, the methods are equal. But fsum is better for floats.
Tip Sum and fsum can be used on any iterable collection. This includes the list, tuple and set.
Warning If the iterable contains a non-numeric value, a TypeError will occur. We handle this in an except statement.
Here In this example, the sum() method causes a rounding error to occur. The fsum() method returns a better sum.
import math # Input list. values = [0.9999999, 1, 2, 3] # Sum values in list. r = sum(values) print(r) # Sum values with fsum. r = math.fsum(values) print(r)
6.999999900000001 6.9999999
Truncate. Truncating a number removes everything past the decimal place. This does not round the number. Instead it just eliminates the fractional part.
Note The number before the decimal place is never changed with math.trunc. This is similar to casting to (int) in C-like languages.
import math # Truncate this value. value1 = 123.45 truncate1 = math.trunc(value1) print(truncate1) # Truncate another value. value2 = 345.67 truncate2 = math.trunc(value2) print(truncate2)
123 345
Pow built-in. Exponentiation multiplies a number by itself a certain number of times. With math.pow we apply this operation. Math.pow is similar to the ** operator.
But When math.pow is applied, the result is always converted to a float. This is not the case with the ** operator.
Tip More examples of using the exponent operator are available on the numbers page.
import math # Use math.pow method. a = math.pow(2, 3) # Use operator. b = 2 ** 3 # Print results. print(a) print(b)
8.0 8
Sqrt. In most programs, we do not need square roots. But when we do, the math.sqrt method is useful. It receives one argument. It returns the square root (in floating-point form).
Tip If your program often uses square roots, a cache or lookup table may be helpful. You could memoize the result of math.sqrt for speed.
import math value1 = 9 value2 = 16 value3 = 100 # Use sqrt method. print(math.sqrt(value1)) print(math.sqrt(value2)) print(math.sqrt(value3))
3.0 4.0 10.0
Pi, E. You probably know the approximate values of E and pi. And you could specify these directly in a Python program. But with math.e and math.pi, we avoid this hassle.
import math # This returns the value of e. print(math.e) # And this is pi. print(math.pi)
2.718281828459045 3.141592653589793
Abs built-in. This is a built-in function in Python. We invoke it with one argument. Abs returns the absolute value of that argument.
Round. This method rounds a number up or down. We call it with a float argument. We can specify how many digits past the decimal place we want to keep.
Compound interest. Math is used in the real world. Please also check out the compound_interest Python implementation. It uses pow to compute an exponential function.
A summary. It is possible to directly compute mathematical functions. We could add methods that use arithmetic operators. But this adds complexity. It bloats programs.
Instead, we can use built-ins. These are found in the default and math modules. This approach is more effective. It is simpler. It makes programs easier to understand and maintain.
Dot Net Perls is a collection of tested code examples. Pages are continually updated to stay current, with code correctness a top priority.
Sam Allen is passionate about computer languages. In the past, his work has been recommended by Apple and Microsoft and he has studied computers at a selective university in the United States.
This page was last updated on May 23, 2023 (edit).
© 2007-2024 Sam Allen.