On Thu, Aug 19, 2010 at 7:11 AM, Timothy Kinney
<[email protected]> wrote:
> I am getting some unexpected behavior in Python 2.6.4 on a WinXP SP3 box.
>
> If I run the following:
>
> [code]
> from pylab import randint
>
> for s in range(100):
> print randint(0,1)
> [/code]
>
> I get 100 zeroes.
>
> If I import randint from random instead, I get the expected behavior
> of a random distribution of 1s and 0s.
>
> I found this by importing * from pylab after importing randint from random.
>
> What is going on? Is pylab's randint function broken somehow? Could
> this be due to installing scipy into a 2.6 environment when it was
> designed for the 2.5 environment?
No; this is by design. The docstring for pylab's randint says:
randint(low, high=None, size=None)
Return random integers from `low` (inclusive) to `high` (exclusive).
IOW, it's similar to random.randrange in the stdlib. In contrast,
random.randint *includes* both endpoints. It's perhaps unfortunate
that random.randint and pylab.randint use different conventions, but
it's not a bug.
Mark
_______________________________________________
Python-Dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe:
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com