mirror of
				https://github.com/python/cpython.git
				synced 2025-10-30 21:21:22 +00:00 
			
		
		
		
	Improve the error message for choices(population, 10) (GH-25267) (GH-25477)
This commit is contained in:
		
							parent
							
								
									072ec69af5
								
							
						
					
					
						commit
						fa03efda3d
					
				
					 1 changed files with 9 additions and 1 deletions
				
			
		|  | @ -485,7 +485,15 @@ def choices(self, population, weights=None, *, cum_weights=None, k=1): | |||
|                 floor = _floor | ||||
|                 n += 0.0    # convert to float for a small speed improvement | ||||
|                 return [population[floor(random() * n)] for i in _repeat(None, k)] | ||||
|             cum_weights = list(_accumulate(weights)) | ||||
|             try: | ||||
|                 cum_weights = list(_accumulate(weights)) | ||||
|             except TypeError: | ||||
|                 if not isinstance(weights, int): | ||||
|                     raise | ||||
|                 k = weights | ||||
|                 raise TypeError( | ||||
|                     f'The number of choices must be a keyword argument: {k=}' | ||||
|                 ) from None | ||||
|         elif weights is not None: | ||||
|             raise TypeError('Cannot specify both weights and cumulative weights') | ||||
|         if len(cum_weights) != n: | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Miss Islington (bot)
						Miss Islington (bot)