Reading the documentation
Nathan Ernst
nathan.ernst at gmail.com
Thu Aug 24 15:54:08 EDT 2017
You passed a string to "math.floor", not anything resembling a numeric
type. Try using an actual float, int or Decimal:
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 <ram at 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
>
More information about the Python-list
mailing list