鼠鼠我啊,今天在刷算法的时候,遇到了一个题
光棍们对1总是那么敏感,因此每年的11.11被戏称为光棍节。小Py光棍几十载,光棍自有光棍的快乐。让我们勇敢地面对光棍的身份吧,现在就证明自己:给你一个整数a,数出a在二进制表示下1的个数,并输出。
例如:a=7
则输出:3
题目的要求是希望我把一个整数a转换成二进制,然后在a的二进制中求出1的个数
def solve_it():
'''
光棍们对1总是那么敏感,因此每年的11.11被戏称为光棍节。小Py光棍几十载,光棍自有光棍的快乐。让我们勇敢地面对
光棍的身份吧,现在就证明自己:给你一个整数a,数出a在二进制表示下1的个数,并输出。
例如:a=7
则输出:3
'''
num = 0
a = int(input("请输入一个整数数字:"))
print(bin(a))
for data in bin(a):
if data == "1":
num+=1
return f'{num}' # your answer
print(solve_it()) # 答案需要输出
这里有一个bin(整数)函数,能够直接将一个整数,转换成二进制的数字,
然后发现,bin()函数转换后的二进制变成了字符串类型,所有这里可以直接遍历循环,然后找值对应,累加即可解决问题