Chris Angelico wrote: > On Mon, Jun 8, 2015 at 1:51 AM, Thomas 'PointedEars' Lahn > <pointede...@web.de> wrote: >> Chris Angelico wrote: >> >>> On Sun, Jun 7, 2015 at 8:40 PM, Thomas 'PointedEars' Lahn >>> <pointede...@web.de> wrote: >>>> Cecil Westerhof wrote: >>>>> I wrote a very simple function to test random: >>>>> def test_random(length, multiplier = 10000): >>>>> number_list = length * [0] >>>>> for i in range(length * multiplier): >>>>> number_list[random.randint(0, length - 1)] += 1 >>>>> minimum = min(number_list) >>>>> maximum = max(number_list) >>>>> return (minimum, maximum, minimum / maximum) >>>> >>>> As there is no guarantee that every number will occur randomly, using a >>>> dictionary at first should be more efficient than a list: >>> >>> Hmm, I'm not sure that's actually so. His code is aiming to get >>> 'multiplier' values in each box; for any serious multiplier (he starts >>> with 10 in the main code), you can be fairly confident that every >>> number will come up at least once. >> >> The wording shows a common misconception: that random distribution would >> mean that it is guaranteed or more probable that every element of the set >> will occur at least once. It is another common misconception that >> increasing the number of trials would increase the probability of that >> happening. But that is not so. > > The greater the multiplier, the lower the chance that any element will > have no hits.
Wrong. > [ex falso quodlibet] -- PointedEars Twitter: @PointedEars2 Please do not cc me. / Bitte keine Kopien per E-Mail. -- https://mail.python.org/mailman/listinfo/python-list