我正在编写一个二进制加法程序,但不确定为什么输入以零开头时输出是不正确的,当程序必须在输入之一的开头加上零以使它们相同时,输出也是不正确的长度。
a = input('Enter first binary number\t')
b = input('Enter second binary number\t')
carry = 0
answer = ""
length = (max(len(a),len(b))) - min(len(a),len(b))
if b > a:
a = length * '0' + a
elif a > b:
b = length * '0' + b
print(a)
print(b)
for i in range(len(a)-1, -1, -1):
x = carry
if a[i] == '1': x += 1
else: x = 0
if b[i] == '1': x += 1
else: x = 0
if …Run Code Online (Sandbox Code Playgroud)