Issue 28475: Improve error message for random.sample() with k < 0. (Contributed by Francisco Couzo).
This commit is contained in:
parent
546ce65968
commit
bf87126a63
|
@ -314,7 +314,7 @@ class Random(_random.Random):
|
|||
randbelow = self._randbelow
|
||||
n = len(population)
|
||||
if not 0 <= k <= n:
|
||||
raise ValueError("Sample larger than population")
|
||||
raise ValueError("Sample larger than population or is negative")
|
||||
result = [None] * k
|
||||
setsize = 21 # size of a small set minus size of an empty list
|
||||
if k > 5:
|
||||
|
|
|
@ -110,6 +110,7 @@ class TestBasicOps:
|
|||
self.assertEqual(self.gen.sample([], 0), []) # test edge case N==k==0
|
||||
# Exception raised if size of sample exceeds that of population
|
||||
self.assertRaises(ValueError, self.gen.sample, population, N+1)
|
||||
self.assertRaises(ValueError, self.gen.sample, [], -1)
|
||||
|
||||
def test_sample_distribution(self):
|
||||
# For the entire allowable range of 0 <= k <= N, validate that
|
||||
|
|
Loading…
Reference in New Issue