小编Joe*_*Joe的帖子

输入2个整数并得到二进制,brgc和汉明距离

除了海明距离外,我得到了一切.我一直得到错误"int()无法使用显式基础转换非字符串"

这是我的代码:

def int2bin(n):                                
    if n:
        bits = []
        while n:
            n,remainder = divmod(n, 2)
            bits.insert(0, remainder)
        return bits
    else: return [0]

def bin2gray(bits):                  
    return bits[:1] + [i ^ ishift for i, ishift in zip(bits[:-1], bits[1:])]

def hamming(a,b):                        
    assert len(a) == len(b)
    count,z = 0,int(a,2)^int(b,2)
    while z:
        count += 1
        z &= z-1 
    return count

def main():
    a = int(input("Positive integer 1: "))        
    b = int(input("Positive integer 2: "))
    print('int:%2i    binary:%12r    BRGC:%12r' %    
          ( a,
            int2bin(a),
        bin2gray(int2bin(a))
           ))
    print('int:%2i    binary:%12r …
Run Code Online (Sandbox Code Playgroud)

python binary hamming-distance gray-code

2
推荐指数
1
解决办法
2552
查看次数

标签 统计

binary ×1

gray-code ×1

hamming-distance ×1

python ×1