https://github.com/python/cpython/commit/a362c41bc934fabe6bfef9be1962005b38396860
commit: a362c41bc934fabe6bfef9be1962005b38396860
branch: main
author: Anders Kaseorg <[email protected]>
committer: hugovk <[email protected]>
date: 2024-09-12T16:54:18+03:00
summary:
gh-123968: Fix lower bound for `python -m random --float` (#123971)
files:
A Misc/NEWS.d/next/Library/2024-09-11-19-12-23.gh-issue-123968.OwHON_.rst
M Lib/random.py
M Lib/test/test_random.py
diff --git a/Lib/random.py b/Lib/random.py
index f5a482b28dec78..8b9a270c429e4a 100644
--- a/Lib/random.py
+++ b/Lib/random.py
@@ -1013,7 +1013,7 @@ def _parse_args(arg_list: list[str] | None):
help="print a random integer between 1 and N inclusive")
group.add_argument(
"-f", "--float", type=float, metavar="N",
- help="print a random floating-point number between 1 and N inclusive")
+ help="print a random floating-point number between 0 and N inclusive")
group.add_argument(
"--test", type=int, const=10_000, nargs="?",
help=argparse.SUPPRESS)
@@ -1038,7 +1038,7 @@ def main(arg_list: list[str] | None = None) -> int | str:
return randint(1, args.integer)
if args.float is not None:
- return uniform(1, args.float)
+ return uniform(0, args.float)
if args.test:
_test(args.test)
@@ -1055,7 +1055,7 @@ def main(arg_list: list[str] | None = None) -> int | str:
try:
# Is it a float?
val = float(val)
- return uniform(1, val)
+ return uniform(0, val)
except ValueError:
# Split in case of space-separated string: "a b c"
return choice(val.split())
diff --git a/Lib/test/test_random.py b/Lib/test/test_random.py
index 9a44ab1768656a..51f9193b269eee 100644
--- a/Lib/test/test_random.py
+++ b/Lib/test/test_random.py
@@ -1433,8 +1433,8 @@ def test_main(self):
("'a a' 'b b' 'c c'", "b b"),
("--integer 5", 4),
("5", 4),
- ("--float 2.5", 2.266632777287572),
- ("2.5", 2.266632777287572),
+ ("--float 2.5", 2.1110546288126204),
+ ("2.5", 2.1110546288126204),
]:
random.seed(0)
self.assertEqual(random.main(shlex.split(command)), expected)
diff --git
a/Misc/NEWS.d/next/Library/2024-09-11-19-12-23.gh-issue-123968.OwHON_.rst
b/Misc/NEWS.d/next/Library/2024-09-11-19-12-23.gh-issue-123968.OwHON_.rst
new file mode 100644
index 00000000000000..4d4894716b7144
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/2024-09-11-19-12-23.gh-issue-123968.OwHON_.rst
@@ -0,0 +1 @@
+Fix the command-line interface for the :mod:`random` module to select floats
between 0 and N, not 1 and N.
_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/python-checkins.python.org/
Member address: [email protected]