题解 | 求int型正整数在内存中存储时1的个数
import sys
for line in sys.stdin:
assert line.strip().split()[0].isdigit(), "请输入一个非负整数 (0≦n≦n<2的30次方)" # 限制不可输入字符和小数点
assert (0 <= int(line.strip().split()[0]) <= 2 ** 31), "请输入(0≦n≦n<2的30次方)的整数" # 限制输入值的范围
n = int(line.strip().split()[0])
print(bin(n).count('1'))
