Skip to content

Commit

Permalink
pythongh-123968: Fix lower bound for python -m random --float (pyth…
Browse files Browse the repository at this point in the history
…onGH-123971)

(cherry picked from commit a362c41)

Co-authored-by: Anders Kaseorg <andersk@mit.edu>
  • Loading branch information
andersk authored and miss-islington committed Sep 12, 2024
1 parent 660baa1 commit d556d27
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 5 deletions.
6 changes: 3 additions & 3 deletions Lib/random.py
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand All @@ -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)
Expand All @@ -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())
Expand Down
4 changes: 2 additions & 2 deletions Lib/test/test_random.py
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Fix the command-line interface for the :mod:`random` module to select floats between 0 and N, not 1 and N.

0 comments on commit d556d27

Please sign in to comment.