On 8/24/2017 3:54 PM, Nathan Ernst wrote:
You passed a string to "math.floor", not anything resembling a numeric
type. Try using an actual float, int or Decimal:
It would seem you did not understand the OP's question. It was not "why did I get this traceback."
He showed the traceback as leading him to use the help builtin.
He was questioning what help() returned.

Python 3.5.2 (default, Nov 17 2016, 17:05:23)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
from math import floor
from decimal import Decimal
floor("2.3")
Traceback (most recent call last):
   File "<stdin>", line 1, in <module>
TypeError: a float is required

floor(2.3)
2

floor(Decimal("2.3"))
2

floor(2)
2

Remember that Python is strongly typed; you do not get automatic type
conversions from strings to numeric types such as in Perl.

Regards,
Nathan

On Thu, Aug 24, 2017 at 2:24 PM, Stefan Ram <r...@zedat.fu-berlin.de> wrote:

   This is a transcript:

from math import floor
floor( "2.3" )
Traceback (most recent call last):
   File "<stdin>", line 1, in <module>
TypeError: must be real number, not str
help(floor)
Help on built-in function floor in module math:

floor(...)
     floor(x)

     Return the floor of x as an Integral.
     This is the largest integer <= x.

   Is the output of »help(floor)« supposed to be a kind of
   normative documentation, i.e., /the/ authoritative
   documentation of »floor«?

   Is there any hint in the documentation about the type
   expected of arguments in a call?

   Is a parameter name »x« (as used above) described
   somewhere to express the requirement of a real number?

   It seems, »real« means »int or float«. Is this meaning
   of »real« documented somewhere?

   Thanks in advance!

--
https://mail.python.org/mailman/listinfo/python-list


--
Image and video hosting by TinyPic
--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to