python程序不能正确使用条件语句
由于某种原因,下面while循环中的条件未被遵循,因此索引超出范围。为了解决这个问题,我不得不在下面添加嵌套的if语句来打破循环。这很奇怪,我想知道为什么没有if语句它就不能工作python程序不能正确使用条件语句,python,if-statement,Python,If Statement,由于某种原因,下面while循环中的条件未被遵循,因此索引超出范围。为了解决这个问题,我不得不在下面添加嵌套的if语句来打破循环。这很奇怪,我想知道为什么没有if语句它就不能工作 def matrixADD(A,B): minilist=[] Z = [] a=-1 b=-1 嗨,伙计们。 我写了这个程序,它工作得很好,但我有一件事遇到了一些麻烦(如上所述) 感谢您的输入:)看起来您希望在添加导致列表大小匹配的元素后,循环将立即结束。循环不是这样工作的 wh
def matrixADD(A,B):
minilist=[]
Z = []
a=-1
b=-1
嗨,伙计们。
我写了这个程序,它工作得很好,但我有一件事遇到了一些麻烦(如上所述)
感谢您的输入:)看起来您希望在添加导致列表大小匹配的元素后,循环将立即结束。循环不是这样工作的
while
循环条件仅在循环每次迭代开始时测试。如果它在循环中途停止,Python将不会注意到下一次迭代的开始,只有在那个时候它仍然不是真的。如果要在循环中间测试循环条件,则需要手动测试它,如“<代码> >如果语句,或者需要重新组织循环。< /P>它给您什么例外?您的代码是不可读的。消除不必要的空白,并将变量命名为描述性变量(看在上帝的份上,我应该知道A
是什么,以及为什么我们要重复对它进行操作,直到minilist
与它一样长!而且它看起来像是在使用索引而不是iterable中元素的来迭代列表。不要在Python中这样做。告诉我们您试图完成什么,它将在整个列表中运行。)总比试图修复一个错误的it@Stendika当我运行调试过程时,在添加第三个迷你列表(即A和B中的第三个嵌套列表之和)后,它将继续运行。要取消它,我必须将其放入该条件语句中。@adsmith如果您向下看,我已编写了A。如果您在阅读代码时遇到问题,我将立即对其进行编辑。很好的解释,老兄。我今年上的是comsci第一年的课,你刚才说的还没有教。这正是我所期望的。再次感谢。)
while len(A)!=len(Z):
x=-1
y=-1
a=a+1
b=b+1
if len(minilist)!=0:
Z.append(minilist)
if len(A)==len(Z):
break
minilist=[]
while len(A[a])!=len(minilist):
for numbers in A[a]:
x=x+1
y=y+1
answer=(A[a][x]+B[b][y])
minilist.append(answer)
return Z
def main():
#Test matrices
A = [[2,4], [7,0], [6,3]]
B = [[3,1], [-1,8], [-3, 3]]
Z=matrixADD(A,B)
print("A + B:",Z)
main()