生成海明校验码
def Input():
"""
输入字符串'0'与'1'的组合
输出两个参数:字符串的长度,字符列表
"""
string = input("请输入‘0’‘1’字符串:")
return len(string), list(string)
# n表示字符串长度,List表示字符列表。List --> type(List[0])=string
n, List = Input()
def getK(n):
"""
param: n表示字符串长度
function:计算得到k的值,k为海明码检验位
return:返回参数k
"""
k = 1
while n+k > pow(2, k)-1:
k += 1
return k
# k为海明码检验位
k = getK(n)
def getHList(n, k, List):
"""
param:n表示字符串长度,k表示海明码校验位,List表示'0' '1'字符列表
function:初始化列表H,将List里的字符按照规律插入H列表中,未插入的位置则是校验码的位置,初始值为-1
return:返回已经初始化列表H。H --> type(H[0])=int
"""
H = [-1 for i in range