Python 我的二进制减法程序似乎对一个特定值不起作用

Python 我的二进制减法程序似乎对一个特定值不起作用,python,binary,subtraction,Python,Binary,Subtraction,所以我在做这个减法程序,真的不知道为什么它对这两个值不起作用。但对于其他每一个,它都有效吗 def binmin(x,y): lenx=len(x) leny=len(y) x1=列表(x) y1=列表(y) 差=0 一=0 result=“” 对于范围内的i(len(x)): 差分=str((int(x1[lenx-1-i]))-int(y1[leny-1-i])) 如果差值=“-1”: 差=2-int(y1[leny-1-i]) 一=1 elif差==“-2”: 一=1 差=0 其他: 一=

所以我在做这个减法程序,真的不知道为什么它对这两个值不起作用。但对于其他每一个,它都有效吗

def binmin(x,y):
lenx=len(x)
leny=len(y)
x1=列表(x)
y1=列表(y)
差=0
一=0
result=“”
对于范围内的i(len(x)):
差分=str((int(x1[lenx-1-i]))-int(y1[leny-1-i]))
如果差值=“-1”:
差=2-int(y1[leny-1-i])
一=1
elif差==“-2”:
一=1
差=0
其他:
一=0
y1[leny-i-2]=int(y1[leny-i-2])+1
结果=str(差异)+str(结果)
返回结果
打印(binmin(“11110000”、“0000001”))
更改:

if difference == "-1":
    difference = 2 - int(y1[leny - 1 - i])
    one = 1
致:

差异
最初为
“-1”
时,您需要借用,因此实际上是在差异中添加
2
。由于差异最初是
-1
,因此您需要
2-1
=
1
用于新的差异

只有当
int(y1[leny-1-i])
1
时,原始调整才起作用,如果先前已通过早期借用进行调整,则可能不是,在这种情况下,它可能是
2

if difference == "-1":
    difference = 1
    one = 1