Bugs item #1590891, was opened at 2006-11-05 11:54
Message generated for change (Comment added) made by rhettinger
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=1590891&group_id=5470

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: Python Library
Group: None
>Status: Closed
>Resolution: Fixed
Priority: 5
Private: No
Submitted By: MATSUI Tetsushi (mft)
Assigned to: Raymond Hettinger (rhettinger)
Summary: random.randrange don't return correct value for big number

Initial Comment:
Python 2.4.3 (#1, Oct  3 2006, 00:36:06)
[GCC 4.1.1 (Gentoo 4.1.1-r1)] on linux2
Type "help", "copyright", "credits" or "license" for
more information.
>>> import random
>>> random.randrange(1000000000000,
-100000000000000000000, -200)
267471051174796896L

Obviously, the result is not in the specified range;
1000000000000 < 267471051174796896,
-100000000000000000000 < 267471051174796896
and
(267471051174796896 - 1000000000000) % (-200) != 0.

I'm using 2.3.5 and 2.4.3, and their behaviors are
identical.
I haven't checked about 2.5.

----------------------------------------------------------------------

>Comment By: Raymond Hettinger (rhettinger)
Date: 2006-12-20 01:43

Message:
Logged In: YES 
user_id=80475
Originator: NO

Thanks for the report.

Fixed in revision 53099.

----------------------------------------------------------------------

Comment By: Armin Rigo (arigo)
Date: 2006-11-08 17:22

Message:
Logged In: YES 
user_id=4771

Oups.  If the interval is very large, the step is
ignored.  Patch attached...

----------------------------------------------------------------------

Comment By: Josiah Carlson (josiahcarlson)
Date: 2006-11-08 11:45

Message:
Logged In: YES 
user_id=341410

2.5 has the same behavior.

One workaround (until it gets fixed) is to do the following...

def myrandrange(start, stop, step):
    return start + random.randrange((stop-start)//step)*step

random.randrange should change to do some variant of the
above, given sane start, stop, step arguments.

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=1590891&group_id=5470
_______________________________________________
Python-bugs-list mailing list 
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to