python之光棍的悲伤

1.贴题

题目来自PythonTip
光棍的悲伤


光棍们对1总是那么敏感,因此每年的11.11被戏称为光棍节。小Py光棍几十载,光棍自有光棍的快乐。让我们勇敢地面对光棍的身份吧,现在就证明自己:给你一个整数a,数出a在二进制表示下1的个数,并输出。

例如:a=7

则输出:3


2.说明

思路如下
1. 将a转换为二进制数
2. 数一下有几个1

3.参考代码

b = bin(a) #将a转换为二进制数
print(str(b).count("1")) #数一下有几个1

很简单粗暴的一道题。。。
这里唯一要注意的就是count函数只能数字符串,所以1要转换为字符串

4.其他写法

1.每一位都判断是否是1
来自chne

count=1
while a != 1:
    b = a%2
    a = a//2
    if b == 1:
        count += 1
print(count)

2.同方法一行代码
来自fiveyes

print((bin(a)).count('1'))

看完这个发现bin(a)返回的类型是字符串。。。

5.扩展

python中进制的相互转换
bin 二进制
oct 八进制
hex 十六进制
可参考
Python 十进制转二进制、八进制、十六进制(菜鸟教程)
Python 二进制,十进制,十六进制转换(博文)

猜你喜欢

转载自blog.csdn.net/weixin_41980474/article/details/80203912