In message <[EMAIL PROTECTED]>, Antoon Pardon wrote:

> On 2007-10-01, Gabriel Genellina <[EMAIL PROTECTED]> wrote:
>
>> En Sun, 30 Sep 2007 16:16:30 -0300, <[EMAIL PROTECTED]> escribi?:
>>
>>>> From my POV, if I want sequence from here to there, it should include
>>> both here and there.
>>>
>>> I do understand the consequences of making high bound exclusive, which
>>> is more elegant code: xrange(len(c)). But it does seem a bit
>>> illogical...
>>
>> See this note from E.W.Dijkstra in 1982 where he says that the Python
>> convention is the best choice.
>> http://www.cs.utexas.edu/users/EWD/transcriptions/EWD08xx/EWD831.html
> 
> It may be convincing if you only consider natural numbers in ascending
> order. Suppose you have the sequence a .. b and you want the reverse.
> If you work with included bounds the reverse is just b .. a. If you use
> the python convention, things become more complicated.

Nothing complicated about it:

    >>> a = 1
    >>> b = 5
    >>> range(a, b)
    [1, 2, 3, 4]
    >>> range(b - 1, a - 1, -1)
    [4, 3, 2, 1]

> Another problem is if you are working with floats. Suppose you have a
> set of floats. Now you want the subset of numbers that are between a and
> b included. If you want to follow the convention that means you have to
> find the smallest float that is bigger than b, not a trivial task.

Due to precision limitations, the set will probably not be what you think it
is, anyway.
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to