完成接受单个字符串参数bit_string的even_parity()函数。该字符串将由0和/或1的序列组成,长度至少为1。该函数计算参数字符串中1的个数。如果1的个数是偶数,则函数返回一个新字符串,由参数字符串和末尾的“0”连接而成。如果1的个数是奇数,函数将返回一个新字符串,该字符串由参数字符串和末尾的“1”连接而成。下面显示了被调用函数的一些示例。例如:
输入:bit_string = "1100001"
print(f"{bit_string} --Even Parity--> {even_parity(bit_string)}")
输出:1100001 --Even Parity--> 11000011
输入bit_string = "1100000"
print(f"{bit_string} --Even Parity--> {even_parity(bit_string)}")
输出:1100000 --Even Parity--> 11000000
def even_parity(bit_string):
def even_parity(bit_string):
num = 0
for i in range(len(bit_string)):
if bit_string[i] == "1":
num = num + 1
end_str = ""
if num % 2 == 0:
end_str = "0"
else:
end_str = "1"
return bit_string + end_str
if __name__ == '__main__':
bit_string = "1100001"
print("{} --Even Parity--> {}".format(bit_string, even_parity(bit_string)))
bit_string = "1100000"
print("{} --Even Parity--> {}".format(bit_string, even_parity(bit_string)))
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!def even_parity(bit_string):
return bit_string + str(int(bit_string.count('1')) % 2)
bit_string = '110000'
print(f"{bit_string} --Even Parity--> {even_parity(bit_string)}")
--result
110000 --Even Parity--> 1100000