Matt,

After using "import math" you will need to use the qualified name
math.sqrt(blah) to call the square root function.   That explains the
NameError when trying to use the unqualified name, sqrt.

As to your first message, the ValueError that you are reporting with
the usage math.sqrt is likely due to an attempt to take the square
root of a negative number (presumably because your (ypos - 384 * 160)
factor is negative.

With regard,
Michael


On Saturday December 1, 2007, Matt Smith wrote: 

>    Matt Smith wrote:
>    > import sys, pygame, math
>    > 
>    > ...
>    > 
>    >     if ypos >= 384 and velocity > 0:
>    >         impactvel = sqrt(velocity ** 2 + (2 * gravity * (ypos - 384 * 
>    > 160)))
>    > 
>    > ...
>    > 
>    > 
>    > Traceback (most recent call last):
>    >   File "<stdin>", line 32, in <module>
>    > ValueError: math domain error
>    
>    Apologies, the actual error I get when I run the code above is:
>    
>    Traceback (most recent call last):
>       File "<stdin>", line 31, in <module>
>    NameError: name 'sqrt' is not defined
>    
>    The error I quoted first was when I tried to call 'math.sqrt(x)'
>    
>    Matt
>    
>    _______________________________________________
>    Tutor maillist  -  Tutor@python.org
>    http://mail.python.org/mailman/listinfo/tutor

_______________________________________________
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor

Reply via email to