要实现校验海明码,首先得明白什么是海明码:
点击打开链接http://blog.csdn.net/lycb_gz/article/details/8214961
import math
userin = input("请输入海明码:")
haiming=[];
#输入的海明码是字符串,下面的代码是将字符串转化成整型列表
haiming=list(haiming)
for x in userin:
haiming.append(int(x))
#计算校验码的个数
for i in range(0,len(haiming)):
if 2**i>len(haiming):
break
#校验码个数
num = i
#标记错位
flag = 0
for i in range(0,num):
b=[]
if(i==0):
#利用python的步长。
a = haiming[(2**i)-1:len(haiming):(2**i)+1]
if(a.count(1)%2==1):
flag = flag + 2**i
print (a)
else:
for j in range(2**i,len(haiming)+1):
if((j/(2**i))%2==1):
for k in range(j,j+(2**i)):