python 给定一个十进制整数N,求其对应2进制数中1的个数?

python 给定一个十进制整数N,求其对应2进制数中1的个数?

问题描述:

描述
给定一个十进制整数N,求其对应2进制数中1的个数
输入
第一个整数表示有N组测试数据,其后N行是对应的测试数据,每行为一个整数。
输出
N行,每行输出对应一个输入。
样例输入

4
2
100
1000
66

样例输出

1
3
6
2

问题解决的话,请点下采纳

def calc(n):
    if n == 0: return 0
    return n % 2 + calc(n / 2)

n = int(input())
for i in range(n):
    print(calc(int(input())))