Python Math libraries - How to?

Benjamin Kaplan bsk16 at case.edu
Mon Apr 28 22:25:23 EDT 2008


On Mon, Apr 28, 2008 at 10:07 PM,  <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 downloaded a 2002
>  tutorial from Zelle "An Introduction to 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 added
>  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
>
>  def main():
>
>     print "This program calculates the volume and surface area of a
>  sphere"
>     print
>     r = input("Please enter the radious: ")
>     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
>  --
>  http://mail.python.org/mailman/listinfo/python-list
>

pi is not a global name. When you do "import math",you aren't adding
everything to the name space, you are just telling python that you are
going to be using that file. You then refer to it as math.*, such as
"math.pi", or "math.pow(r,3)". To use it the way you want to, you
would have to do "from math import pi" instead of "import math"



More information about the Python-list mailing list