Message108108
The nonuniformity of randrange has a knock-on effect in other random module functions. For example, take a sample of 100 elements from range(6004799503160661), and take the smallest element from that sample. Then the exact distribution of that smallest element is somewhat complicated, but you'd expect it to be even with probability very close to 50%. But it turns out that it's roughly twice as likely to be even as to be odd.
>>> from random import sample
>>> from collections import Counter
>>> population = range(6004799503160661)
>>> Counter(min(sample(population, 100)) % 2 for _ in range(100000))
Counter({0: 66810, 1: 33190}) |
|
Date |
User |
Action |
Args |
2010-06-18 13:47:15 | mark.dickinson | set | recipients:
+ mark.dickinson, rhettinger |
2010-06-18 13:47:14 | mark.dickinson | set | messageid: <1276868834.9.0.0441513946777.issue9025@psf.upfronthosting.co.za> |
2010-06-18 13:47:12 | mark.dickinson | link | issue9025 messages |
2010-06-18 13:47:11 | mark.dickinson | create | |
|