From: Raymond Hettinger <python@rcn.com>
Date: Thu, 11 Jun 2009 23:12:14 +0000 (+0000)
Subject: Issue 6261: Clarify behavior of random.uniform().
X-Git-Tag: v3.1rc2~10
X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=be40db07c61030d1855a0d173eb30645968d6586;p=python

Issue 6261: Clarify behavior of random.uniform().
---

diff --git a/Doc/library/random.rst b/Doc/library/random.rst
index ecfa607e18..6c7a04dca4 100644
--- a/Doc/library/random.rst
+++ b/Doc/library/random.rst
@@ -142,6 +142,8 @@ be found in any statistics text.
    Return a random floating point number *N* such that ``a <= N <= b`` for
    ``a <= b`` and ``b <= N <= a`` for ``b < a``.
 
+   The end-point value ``b`` may or may not be included in the range
+   depending on floating-point rounding in the equation ``a + (b-a) * random()``.
 
 .. function:: triangular(low, high, mode)
 
diff --git a/Lib/random.py b/Lib/random.py
index afec8a0e90..12b4e1b2a7 100644
--- a/Lib/random.py
+++ b/Lib/random.py
@@ -333,7 +333,7 @@ class Random(_random.Random):
 ## -------------------- uniform distribution -------------------
 
     def uniform(self, a, b):
-        """Get a random number in the range [a, b)."""
+        "Get a random number in the range [a, b) or [a, b] depending on rounding."
         return a + (b-a) * self.random()
 
 ## -------------------- triangular --------------------