我正在尝试创建一个添加两个二进制数的程序,但程序只返回'正好取2个位置参数(给定1个)',我不知道这意味着什么。这是我的代码:
def binValid(binNumber):
valid=1
for x in binNumber :
if(x != "0" and x != "1"):
valid = 0
return valid
def addBin(binA,binB):
if ((binValid(binA)) and (binValid(binB))):
maxLen = max(len(binA),len(binB))
binA = binA.zfill(maxLen)
binB = binB.zfill(maxLen)
carry = 0
answer = ""
for i in range ((maxLen-1),-1,-1):
ans = (int(binA[i])+int(binB[i])+carry)% 2
carry = (int(binA[i])+int(binB[i])+carry)// 2
answer = str(ans) + answer
answer = str(carry) + answer
answer = answer.lstrip("0")
return answer
else:
return("this is not a binary number")