I'd object to it returning something that resembles a list too closely, but I could live with str(range(3)) return <0, 1, 2>. We should probably have a cutoff so that if there are more than 6 values it'll show the first 3 values, then dots, then the last 2 values. (The cutoff would be computed so that '...' always represents at least 2 values.
On Mon, Apr 7, 2008 at 4:14 PM, Brad Miller <[EMAIL PROTECTED]> wrote: > Hi, > > I use Python in my CS1 and CS2 curriculum and I have a question. > As I've been using the Python 3.0 alphas one of the things that I am > bothered by is that I cannot see the sequence produced by range > without introducing students to the list() function. > > I typically introduce range on day 1 of class and show students what > it produces without making a big deal out of the fact that it creates > a list. They all accept this and things work out nicely when I > introduce lists for real in a week or two. > > My question is why couldn't the __str__ method for the range object be > more friendly and show a representation of the sequence? I understand > why __repr__ should return range(0,10) for an object created using > range(10) but couldn't print(range(10)) produce [0, 1, 2, ... 9] > The ... could even be used if the sequence were excessively wrong. > > If this is acceptable, I would be happy to accept the challenge of > providing a patch. > > Thanks, > > Brad > > > _______________________________________________ > Python-Dev mailing list > Python-Dev@python.org > http://mail.python.org/mailman/listinfo/python-dev > Unsubscribe: > http://mail.python.org/mailman/options/python-dev/guido%40python.org > -- --Guido van Rossum (home page: http://www.python.org/~guido/) _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com