


from __future__ import annotations

from collections import namedtuple





def 	_lowerCAmelCase       (    _lowerCAmelCase      ,	_lowerCAmelCase      ,	_lowerCAmelCase )						->	tuple:


						'''simple docstring'''






						__snake_case				=		namedtuple("result"      ,	"name value" )
						if (voltage, current, power).count(0 ) != 1:
												raise ValueError("Only one argument must be 0" )
						elif power < 0:
												raise ValueError(
												    "Power cannot be negative in any electrical/electronics system" )
						elif voltage == 0:
												return result("voltage"      ,	power / current )
						elif current == 0:
												return result("current"      ,	power / voltage )
						elif power == 0:
												return result("power"      ,	float(round(abs(voltage * current )      ,	2 ) ) )
						else:
												raise ValueError("Exactly one argument must be 0" )


if __name__ == "__main__":
	import doctest

	doctest.testmod()









from __future__ import annotations





def 	_lowerCAmelCase       (    _lowerCAmelCase )						->	list:


						'''simple docstring'''






						if len(_lowerCAmelCase ) == 0:
												return []
						__snake_case		,					__snake_case				=		min(_lowerCAmelCase ), max(_lowerCAmelCase )
						__snake_case				=		int(max_value - min_value ) + 1
						__snake_case				=		[[] for _ in range(_lowerCAmelCase )]

						for i in my_list:
												buckets[int(i - min_value )].append(_lowerCAmelCase )

						return [v for bucket in buckets for v in sorted(_lowerCAmelCase )]


if __name__ == "__main__":
	from doctest import testmod

	testmod()
	assert bucket_sort([4, 5, 3, 2, 1]) == [1, 2, 3, 4, 5]
	assert bucket_sort([0, 1, -10, 15, 2, -2]) == [-10, -2, 0, 1, 2, 15]





