在CLRS练习2.1-4的python代码中,我哪里出错了

在CLRS练习2.1-4的python代码中,我哪里出错了,python,binary,addition,clrs,Python,Binary,Addition,Clrs,所以问题是: 考虑一个添加两个n位二进制整数的问题,存储在两个n元素数组a和B中。两个整数的总和应以二进制形式存储在(n+1)元素数组C中。正式说明问题并编写用于添加两个整数的伪代码 我针对这个问题的python代码是: A = [1,0,1,1,0,1,0] B = [1,1,1,0,1,0,0] n = len(A) C = [0,0,0,0,0,0,0,0] for i in range(0, n): C[i] = A[i] + B[i] + C[i] if C[i] =

所以问题是: 考虑一个添加两个n位二进制整数的问题,存储在两个n元素数组a和B中。两个整数的总和应以二进制形式存储在(n+1)元素数组C中。正式说明问题并编写用于添加两个整数的伪代码

我针对这个问题的python代码是:

A = [1,0,1,1,0,1,0]
B = [1,1,1,0,1,0,0]
n = len(A)
C = [0,0,0,0,0,0,0,0]

for i in range(0, n):
    C[i] = A[i] + B[i] + C[i]
    if C[i] == 2:
        C[i] = 0
        C[i+1] == 1
    elif C[i] == 3:
        C[i] = 1
        C[i+1] = 1


print C
此外,我还取了左侧的最低有效数字,在完成计算后,我可以反转这些数字


我想不出是什么错误,请帮忙

C[i+1]==1
进行比较,赋值。

C[i+1]==1
进行比较,赋值。

在这种情况下,为了简洁起见,您需要稍微修改一下(伪代码):


在这种情况下,为了简洁起见,您需要稍微修改一下(伪代码):


只需注意:如果您计划通过输入接收a&B,定义
C
更简单的方法是
C=[0]*(n+1)
,它会自动生成您想要的数组。只需注意:如果您计划通过输入接收a&B,定义
C
更简单的方法是
C=[0]*(n+1)
,它会自动生成所需的阵列。
for i = C.length to i = 2
  C[i] = C[i] + A[i-1] + B[i-1]
  if C[i] > 1
    C[i-1] = C[i-1] + 1
    C[i] = C[i] - 2