TheAlgorithms-Python

Форк
0
/
binary_count_setbits.py 
41 строка · 1.1 Кб
1
def binary_count_setbits(a: int) -> int:
2
    """
3
    Take in 1 integer, return a number that is
4
    the number of 1's in binary representation of that number.
5

6
    >>> binary_count_setbits(25)
7
    3
8
    >>> binary_count_setbits(36)
9
    2
10
    >>> binary_count_setbits(16)
11
    1
12
    >>> binary_count_setbits(58)
13
    4
14
    >>> binary_count_setbits(4294967295)
15
    32
16
    >>> binary_count_setbits(0)
17
    0
18
    >>> binary_count_setbits(-10)
19
    Traceback (most recent call last):
20
        ...
21
    ValueError: Input value must be a positive integer
22
    >>> binary_count_setbits(0.8)
23
    Traceback (most recent call last):
24
        ...
25
    TypeError: Input value must be a 'int' type
26
    >>> binary_count_setbits("0")
27
    Traceback (most recent call last):
28
        ...
29
    TypeError: '<' not supported between instances of 'str' and 'int'
30
    """
31
    if a < 0:
32
        raise ValueError("Input value must be a positive integer")
33
    elif isinstance(a, float):
34
        raise TypeError("Input value must be a 'int' type")
35
    return bin(a).count("1")
36

37

38
if __name__ == "__main__":
39
    import doctest
40

41
    doctest.testmod()
42

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.