TheAlgorithms-Python
41 строка · 1.1 Кб
1def binary_count_setbits(a: int) -> int:2"""3Take in 1 integer, return a number that is
4the number of 1's in binary representation of that number.
5
6>>> binary_count_setbits(25)
73
8>>> binary_count_setbits(36)
92
10>>> binary_count_setbits(16)
111
12>>> binary_count_setbits(58)
134
14>>> binary_count_setbits(4294967295)
1532
16>>> binary_count_setbits(0)
170
18>>> binary_count_setbits(-10)
19Traceback (most recent call last):
20...
21ValueError: Input value must be a positive integer
22>>> binary_count_setbits(0.8)
23Traceback (most recent call last):
24...
25TypeError: Input value must be a 'int' type
26>>> binary_count_setbits("0")
27Traceback (most recent call last):
28...
29TypeError: '<' not supported between instances of 'str' and 'int'
30"""
31if a < 0:32raise ValueError("Input value must be a positive integer")33elif isinstance(a, float):34raise TypeError("Input value must be a 'int' type")35return bin(a).count("1")36
37
38if __name__ == "__main__":39import doctest40
41doctest.testmod()42