Liste des Groupes | Revenir à cl c |
DFS <nospam@dfs.com> writes:> just replacing nums[i/2] by nums[i//2] would do the trick,On 6/14/2024 9:39 PM, Keith Thompson wrote:I'm surprised you needed to convert i to an int. I would think thatDFS <nospam@dfs.com> writes:>
[...]During conversion, I got a Python error I don't remember seeing in the past:[...]
>
"TypeError: list indices must be integers or slices, not float"
>
because division returns a float, and some of the array addressing was
like this: nums[i/2].
C's "/" operator yields a result with the type of the operands
(after
promotion to a common type).
Python's "/" operator yields a floating-point result. For C-style
integer division, Python uses "//". (Python 2 is more C-like.)
I was surprised python did that, since every division used in the
array addressing results in an integer.
>
After casting i to an int before any array addressing, // works.
is acquiring a float value, that's probably a bug, given the name.I spotted the issue. Just prior to using i for array addressing I said:
But if you want help with your Python code, comp.lang.python is theThanks for your help, but David Brown is a Python developer and I'll ask him python questions here whenever I care to.
place to ask.
Les messages affichés proviennent d'usenet.