【发布时间】:2016-11-07 08:36:16
【问题描述】:
我需要在两个二进制字符串之间进行异或运算。
xor("00110011", "11001100") = "11111111"
我正在使用这个功能
def xor(x, y):
ans = ""
for i in xrange(len(x)):
if x[i] == "0" and y[i] == "1" or x[i] == "1" and y[i] == "0":
ans += "1"
else:
ans += "0"
return ans
请给我好的方法
【问题讨论】:
-
如果您愿意,可以使用括号。顺便说一句,这段代码有什么具体问题吗?
-
请edit您的问题并附上您的输入样本和预期输出。
-
您可以使用
^- xor 运算符。请看stackoverflow.com/questions/19414093/… -
如果您使用的是 Python 3,这些不是 Python 意义上的二进制字符串。
-
你也需要告诉我们边缘情况。例如,
xor('01', '00')会发生什么?是输出'1'还是'01'。换句话说,输出是否应该始终保持相同的字符串长度?