二进制加法程序返回消息'正好取2个位置参数(给定1个)'

时间:2014-02-17 10:36:21

标签: python binary

我正在尝试创建一个添加两个二进制数的程序,但程序只返回'正好取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")

0 个答案:

没有答案