如何在Python中对二进制字符串灵活实现逐次XOR运算?
解决方案:实现多二进制字符串的依次XOR运算
下面是支持灵活输入的Python实现方案,能处理任意数量的二进制字符串,完成依次XOR运算:
def sequential_xor(bin_strings): if not bin_strings: return "" # 初始化结果为第一个二进制串的整数形式 result = int(bin_strings[0], 2) # 逐个与后续二进制串做XOR运算 for bin_str in bin_strings[1:]: result ^= int(bin_str, 2) # 转换为无前缀的二进制字符串返回 return bin(result)[2:] # 示例:处理"maru"对应的二进制序列 maru_bin_list = ["1101101", "1100001", "1110010", "1110101"] print(sequential_xor(maru_bin_list)) # 输出:100101
功能说明
- 输入:任意长度的二进制字符串列表(空列表会返回空字符串)
- 逻辑:从第一个二进制串开始,依次与后续每个串做XOR运算,累积结果
- 输出:最终XOR结果的二进制字符串(不含
0b前缀)
灵活输入扩展
如果需要从用户输入获取二进制串,可以这样处理:
# 从控制台读取多个二进制串,用逗号分隔 user_input = input("请输入二进制字符串,用逗号分隔:") bin_list = [s.strip() for s in user_input.split(",")] print(sequential_xor(bin_list))
内容的提问来源于stack exchange,提问作者HelpMe
相关产品推荐
相关产品推荐

