HJ86 求最大连续bit数

思路:

step1:输入一个int型整数,并转为二进制数;
step2:将二进制数转换为字符串形式;
step3:对a的长度逐一遍历;从大到小开始对字符'1'相乘,如果在b中,直接打印并且break

代码如下:

while True:
    try:
        a = bin(int(input()))
        b = str(a)
        for i in range(len(a)):
            if '1' * (len(a) - i) in b:
                print(len(a) - i)
                break 
    except:
        break