[Python-checkins] cpython (merge 3.6 -> default): merge

raymond.hettinger python-checkins at python.org
Mon Nov 21 05:00:13 EST 2016


https://hg.python.org/cpython/rev/2b91121bc3fc
changeset:   105273:2b91121bc3fc
parent:      105271:d656b93c5603
parent:      105272:223967b49e49
user:        Raymond Hettinger <python at rcn.com>
date:        Mon Nov 21 02:00:04 2016 -0800
summary:
  merge

files:
  Doc/library/random.rst |  34 +++++++++++++++++++++++++----
  1 files changed, 29 insertions(+), 5 deletions(-)


diff --git a/Doc/library/random.rst b/Doc/library/random.rst
--- a/Doc/library/random.rst
+++ b/Doc/library/random.rst
@@ -345,8 +345,8 @@
    >>> randrange(0, 101, 2)                 # Even integer from 0 to 100 inclusive
    26
 
-   >>> choice('abcdefghij')                 # Single random element from a sequence
-   'c'
+   >>> choice(['win', 'lose', 'draw'])      # Single random element from a sequence
+   'draw'
 
    >>> deck = 'ace two three four'.split()
    >>> shuffle(deck)                        # Shuffle a list
@@ -370,8 +370,9 @@
    >>> print(seen.count('tens') / 20)
    0.15
 
-   # Estimate the probability of getting 5 or more heads from 7 spins
-   # of a biased coin that settles on heads 60% of the time.
+   # Estimate the probability of getting 5 or more heads
+   # from 7 spins of a biased coin that settles on heads
+   # 60% of the time.
    >>> n = 10000
    >>> cw = [0.60, 1.00]
    >>> sum(choices('HT', cum_weights=cw, k=7).count('H') >= 5 for i in range(n)) / n
@@ -416,4 +417,27 @@
     print(f'{n} label reshufflings produced only {count} instances with a difference')
     print(f'at least as extreme as the observed difference of {observed_diff:.1f}.')
     print(f'The one-sided p-value of {count / n:.4f} leads us to reject the null')
-    print(f'hypothesis that the observed difference occurred due to chance.')
+    print(f'hypothesis that there is no difference between the drug and the placebo.')
+
+Simulation of arrival times and service deliveries in a single server queue::
+
+    from random import gauss, expovariate
+
+    average_arrival_interval = 5.6
+    average_service_time = 5.0
+    stdev_service_time = 0.5
+
+    num_waiting = 0
+    arrival = service_end = 0.0
+    for i in range(10000):
+        num_waiting += 1
+        arrival += expovariate(1.0 / average_arrival_interval)
+        print(f'{arrival:6.1f} arrived')
+
+        while arrival > service_end:
+            num_waiting -= 1
+            service_start = service_end if num_waiting else arrival
+            service_time = gauss(average_service_time, stdev_service_time)
+            service_end = service_start + service_time
+            print(f'\t\t{service_start:.1f} to {service_end:.1f} serviced')
+

-- 
Repository URL: https://hg.python.org/cpython


More information about the Python-checkins mailing list