From b430399d41fa88e9040cd055e55cf9211bf63c61 Mon Sep 17 00:00:00 2001 From: Raymond Hettinger Date: Thu, 15 Dec 2022 20:40:45 +0200 Subject: [PATCH] GH-100234: Set a default value for random.expovariate() (GH-100235) --- Doc/library/random.rst | 5 ++++- Lib/random.py | 2 +- Lib/test/test_random.py | 1 + .../Library/2022-12-14-11-45-38.gh-issue-100234.kn6yWV.rst | 2 ++ 4 files changed, 8 insertions(+), 2 deletions(-) create mode 100644 Misc/NEWS.d/next/Library/2022-12-14-11-45-38.gh-issue-100234.kn6yWV.rst diff --git a/Doc/library/random.rst b/Doc/library/random.rst index 669204ba65b..d944518a790 100644 --- a/Doc/library/random.rst +++ b/Doc/library/random.rst @@ -320,7 +320,7 @@ be found in any statistics text. ``beta > 0``. Returned values range between 0 and 1. -.. function:: expovariate(lambd) +.. function:: expovariate(lambd = 1.0) Exponential distribution. *lambd* is 1.0 divided by the desired mean. It should be nonzero. (The parameter would be called @@ -328,6 +328,9 @@ be found in any statistics text. range from 0 to positive infinity if *lambd* is positive, and from negative infinity to 0 if *lambd* is negative. + .. versionchanged:: 3.12 + Added the default value for ``lambd``. + .. function:: gammavariate(alpha, beta) diff --git a/Lib/random.py b/Lib/random.py index c70294ee0cb..e60b7294b6d 100644 --- a/Lib/random.py +++ b/Lib/random.py @@ -577,7 +577,7 @@ class Random(_random.Random): """ return _exp(self.normalvariate(mu, sigma)) - def expovariate(self, lambd): + def expovariate(self, lambd=1.0): """Exponential distribution. lambd is 1.0 divided by the desired mean. It should be diff --git a/Lib/test/test_random.py b/Lib/test/test_random.py index 1e825c3572d..67de54c7db8 100644 --- a/Lib/test/test_random.py +++ b/Lib/test/test_random.py @@ -988,6 +988,7 @@ class TestDistributions(unittest.TestCase): g.random = x[:].pop; g.uniform(1,10) g.random = x[:].pop; g.paretovariate(1.0) g.random = x[:].pop; g.expovariate(1.0) + g.random = x[:].pop; g.expovariate() g.random = x[:].pop; g.weibullvariate(1.0, 1.0) g.random = x[:].pop; g.vonmisesvariate(1.0, 1.0) g.random = x[:].pop; g.normalvariate(0.0, 1.0) diff --git a/Misc/NEWS.d/next/Library/2022-12-14-11-45-38.gh-issue-100234.kn6yWV.rst b/Misc/NEWS.d/next/Library/2022-12-14-11-45-38.gh-issue-100234.kn6yWV.rst new file mode 100644 index 00000000000..6d9b909d874 --- /dev/null +++ b/Misc/NEWS.d/next/Library/2022-12-14-11-45-38.gh-issue-100234.kn6yWV.rst @@ -0,0 +1,2 @@ +Set a default value of 1.0 for the ``lambd`` parameter in +random.expovariate().