解题思路:

① 利用bin()方法将输入的正整数转换成二进制字符串;

② 利用count()方法统计二进制字符串中1的个数,此处的1类型为str()。

import sys

x = int(input())
if -2 ** 31 <= x <= 2 ** 31 - 1:
    x = str(bin(x))

    print(x.count('1'))

【目的】

① 复习进制转换的方法;

② 复习count()方法;

③ 32为int型数的范围:(-2^31) ~ (2^31 - 1)。