strange behavior of math.sqrt() in new 3.0 version
David
David
Fri Dec 26 22:52:24 CET 2008
I'm a newbee trying 3.0 Please help with math.sqrt()
At the command line this function works correctly
>>> import math
n = input("enter a number > ")
s = math.sqrt(n)
An entry of 9 or 9.0 will yield 3.0
Yet the same code in a script gives an error message
Script1
import math
n = input("enter a number > ")
s = math.sqrt(n)
Traceback (most recent call last) :
File "<stdin>", line 1, in <module>
File "script1.py" line 3 in <module>
s = math.sqrt(n)
TypeError : a float is required
Entering 9 or 9.0 gives same error message.
According to the math module the results of all
functions are floats. However it says nothing about
inputs.
Strangely the above code runs fine in version 2.5 ( ? )
and will handle large integers.
I've read the documentation for 3.0 including the section
"Floating Point Arithmetic: Issues & Limitations" and it
helps nada.
More information about the Python-list
mailing list