[issue24567] random.choice IndexError due to double-rounding
STINNER Victor
report at bugs.python.org
Fri Jul 10 01:44:35 CEST 2015
STINNER Victor added the comment:
Again, why not using only integers?
Pseudo-code to only use integers:
def randint(a, b):
num = b - a
if not num:
return a
nbits = (num + 1).bit_length()
while True:
x = random.getrandbits(nbits)
if x <= num:
break
return a + x
(It doesn't handle negative numbers nor empty ranges.)
----------
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue24567>
_______________________________________
More information about the Python-bugs-list
mailing list