Python: el nombre ‘math’ no está definido ¿Error?

Soy un principiante en python y no puedo entender por qué sucede esto:

from math import * print "enter the number" n=int(raw_input()) d=2 s=0 while d<n : if n%d==0: x=math.log(d) s=s+x print d d=d+1 print s,n,float(n)/s 

Ejecutarlo en Python e ingresar un no primo da el error

 Traceback (most recent call last): File "C:\Python27\mit ocw\pset1a.py", line 28, in  x=math.log(d) NameError: name 'math' is not defined 

Cambio

 from math import * 

a

 import math 

El uso from X import * generalmente no es una buena idea ya que contamina sin control el espacio de nombres global y podría presentar otras dificultades.

Tu cometiste un error

Cuando escribiste:

 from math import * # This imports all the functions and the classes from math # log method is also imported. # But there is nothing defined with name math 

Entonces, cuando intentas usar math.log

Te da error, entonces:

Reemplace math.log con log

O

Reemplazar from math import * con import math

Esto deberia resolver el problema.

Es necesario import math lugar de from math import * .