# Python Math libraries - How to?

John Henderson jhenRemoveThis at talk21.com
Tue Apr 29 04:20:37 CEST 2008

```aguirre.adolfo at gmail.com wrote:

> Hi, I am a very newbie who would very much appreciate some
> hints.
>
> Python 2.52. on Windows XP for now. Soon on Ubuntu 8
>
> I am teaching myself Python following free tutorials. I can
> solve problems using arithmetic, but when I try to upgrade the
> programs using math libraries nothing seems to work. I
> Computer Science" where he uses a "import math" statement to
> calculate a square root. I tried the
> "pi" library function but it didn´t work. I tried using def
> Pi()  it did not work either. I am yet to find a tutorial that
> explains how to declare (or initialize) and pass numbers to
> the functions such as "cos(x)" and the pi which does not have
> a variable in it. Is just a constant.
>
> Here is the arithmetic program I made that it worked before I
> the "import math" line.  I  erased the constant p = 3.1416 and
> added the "i" for the library function "pi" in the algorithms.
> But I get an error message not recognizing "pi"
>
>
>
> #volumen.py
> # A program to compute the volume and surface area of a sphere
> import math

Change that line, "import math", to:

from math import *

and it'll work.  I'm learning too, so some proficient person
might be able to explain the difference to both of us :)

John

>
> def main():
>
>     print "This program calculates the volume and surface area
>     of a
> sphere"
>     print
>     print
>     r3 = r*r*r
>     volume = 4/3*pi*r3
>     r2 = r*r
>     surface = 4*pi*r2
>     print "The Volume is", volume, " Cubic centimeters"
>     print
>     print "The Surface area is", surface, " square
>     centimeters"
>
> main()
>
> *** Error message *************
>
> Traceback (most recent call last):
>   File "C:/Python25/z - MIS PROGRAMAS/volumen-b.py", line 20,
>   in
> <module>
>     main()
>   File "C:/Python25/z - MIS PROGRAMAS/volumen-b.py", line 13,
>   in main
>     volume = 4/3*pi*r3
> NameError: global name 'pi' is not defined

```