如何将整数型转换成二进制

鼠鼠我啊,今天在刷算法的时候,遇到了一个题

光棍们对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()函数转换后的二进制变成了字符串类型,所有这里可以直接遍历循环,然后找值对应,累加即可解决问题

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值