05-03 三天不解代码之一 终于搞定了

def my_bin(value):
    list = []
    count = 0
    # 先求该数的二进制
    while value:
        if value % 2 == 1:
            list.append('1')
            # list.append(1) 这里为什么要 将1写成字符串数据
            # 续解:加引号list添加字符串'1',不
            #加引号list添加int 1,都可以
            count += 1
        else:
            list.append('0')
        value = value >> 1
        # # 这里将已经除以2一次的整数用右移一次表示,直到
        # value不符合while
        # value这个条件时跳出循环

    list1=list[::-1]
    # return ' '.join(list1) +  count  这
    #里+count 错误,因为+拼接必须数据类型一致
    # return ' '.join(list1) + 'count'  #这
    #样N写会直接打印出 count
    return ' '.join(list1) + str(count)

print(bin(10)) #只是单纯执行这一句

if __name__ == "__main__":
    print(my_bin(14))
    print(my_bin(24))
    print(my_bin(34))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值