【发布时间】:2022-10-06 22:44:34
【问题描述】:
所以在 uni 中,我们学习了如何将 2 个二进制代码相乘。在尝试了 Python 并获得了正确的结果之后,我想知道我是否可以用更少的 if 语句来改进我的代码,或者我是否在没有意识到的情况下犯了任何重大错误。
l1 = [1,1,0,1,1]
l2 = [1,0,0,0,0]
brack = 0
result = []
for i in range(len(l1)):
if l1[i] + l2[i] == 2:
result.append(0)
brack +=1
elif (l1[i] + l2[i] == 1) and (brack == 0):
result.append(1)
elif (l1[i] + l2[i] == 1) and (brack == 1):
result.append(0)
brack -= 1
elif(l1[i] + l2[i] == 0) and (brack == 1):
result.append(0)
brack -= 1
elif(l1[i] + l2[i] == 0) and (brack == 0):
result.append(0)
if (result[-1] == 0):
result.append(1)
print(result)
-
这不是二进制加法吗?
-
是 两个列表的二进制加法