# How To Resolve NameError: Name ‘math’ Is Not Defined In Python

Have you ever encountered the NameError: name ‘math’ is not defined in Python? Why does this error happen, and how to fix it? The following article will present the cause and some ways to solve the error, which will hopefully be helpful.

## What causes the NameError: name ‘math’ is not defined in Python?

The math module in Python has commonly used math functions such as trigonometric functions and logarithmic functions.

Some Math methods are included in the module, like math.acos(), math.floor(), math.fsum, etc., and some Math Constants like math. e( Returns Euler's number), math.pi(3.14).

‘NameError’ is an error when you use a variable, function, or module that is not declared or you are not using it properly.

NameError: name ‘math’ is not defined happens because you don’t import the math module before using it.

Example:

valuesList = [1, 2, 3]

# The math.prod() function returns the product of the elements
result = math.prod(valuesList)
print('Product of the elements:', result)

Output:

Traceback (most recent call last):
File "./prog.py", line 6, in <module>
NameError: name 'math' is not defined

## How to solve the NameError: name ‘math’ is not defined in Python?

### Import the math module

Example:

• Import the math module before using it.
• The math.prod() function is used to calculate the product of the elements of the object.

Note: Although the math module is standard in Python, to use it, you still need to import to use it.

import math

valuesList = [1, 2, 3]

# The math.prod() function returns the product of the elements
result = math.prod(valuesList)
print('Product of the elements:', result)

Output:

Product of the elements: 6

### Direct function access

The number one method of accessing the function on the module, this way I will do the function access directly.

Example:

from math import prod

valuesList = [1, 2, 3]

# Accessing the prod() function directly calculates the product of the elements
result = prod(valuesList)
print('Product of the elements:', result)

Output:

Product of the elements: 6

### Use functions instead

Several functions in Python are similar to those in the math module.

Example:

import math

# Round down to the nearest integer using the math.floor() function
print('Rounding value:', math.floor(1.4))

# Round close to natural numbers using the round() function
print('Rounding value:', round(1.4, 0))

Output:

Rounding value: 1
Rounding value: 1.0

That’s an example of the round() function, which is quite similar to math.floor() function in the math library.

## Summary

I have shown the causes and given the remedies that fixed the NameError: name ‘math’ is not defined in Python. This is a simple bug in Python. Remember to import it before using it. Please fix it as soon as possible. Good luck!

Maybe you are interested: