bpo-37319: Improve documentation, code and tests of randrange. (GH-19112)
diff --git a/Doc/library/random.rst b/Doc/library/random.rst
index 07ee011..9d85c2b 100644
--- a/Doc/library/random.rst
+++ b/Doc/library/random.rst
@@ -141,8 +141,9 @@
``randrange(10)``. In the future, this will raise a :exc:`TypeError`.
.. deprecated:: 3.10
- The exception raised for non-integral values such as ``range(10.5)``
- will be changed from :exc:`ValueError` to :exc:`TypeError`.
+ The exception raised for non-integral values such as ``randrange(10.5)``
+ or ``randrange('10')`` will be changed from :exc:`ValueError` to
+ :exc:`TypeError`.
.. function:: randint(a, b)
diff --git a/Doc/whatsnew/3.10.rst b/Doc/whatsnew/3.10.rst
index a6c3fbb..3026a1a 100644
--- a/Doc/whatsnew/3.10.rst
+++ b/Doc/whatsnew/3.10.rst
@@ -530,6 +530,10 @@
as appropriate to help identify code which needs updating during
this transition.
+* Non-integer arguments to :func:`random.randrange` are deprecated.
+ The :exc:`ValueError` is deprecated in favor of a :exc:`TypeError`.
+ (Contributed by Serhiy Storchaka and Raymond Hettinger in :issue:`37319`.)
+
* The various ``load_module()`` methods of :mod:`importlib` have been
documented as deprecated since Python 3.6, but will now also trigger
a :exc:`DeprecationWarning`. Use