Python:如何将2个迭代器的值交换为循环?
我有一个代码希望像这样运行:Python:如何将2个迭代器的值交换为循环?,python,matrix,Python,Matrix,我有一个代码希望像这样运行: for i in range(10): for j in range(10): if a condition is satisfied: let i = j in the next loop, j is reset back to 0 例如: 如果i=0,j=0且不满足条件=>继续 如果i=0,j=1且满足条件=>则让i=j 下一个循环:i=1,j=0然后i=1,j=1循环继续 更多示例:如果i=3,j=2且满足条件: 下一个循环:i=2
for i in range(10):
for j in range(10):
if a condition is satisfied:
let i = j in the next loop, j is reset back to 0
例如:
如果i=0,j=0且不满足条件=>继续
如果i=0,j=1且满足条件=>则让i=j
下一个循环:i=1,j=0
然后i=1,j=1
循环继续
更多示例:如果i=3,j=2且满足条件:
下一个循环:i=2,j=3
在下一个for循环迭代中,没有改变i
的方法。您必须使用while循环:
i,j = 0,0
while i < 10:
while j < 10:
if a condition is satisfied:
let i = j in the next loop, j is reset back to 0
i,j=0,0
当我<10时:
当j<10时:
如果满足条件:
让i=j在下一个循环中,j被重置回0
您不能使用range()
,因为它将生成一个生成器,它不关心i
或j
的当前(编辑)值
你可以通过一个while循环来做你想做的事情
i = 0
j = 0
while(i < 10):
j = 0
while(j < 10):
if condition:
i, j = j, i
j += 1
i += 1
i=0
j=0
而(i<10):
j=0
而(j<10):
如果条件:
i、 j=j,i
j+=1
i+=1
在使用的同时尝试使用:
i, j = 0, 0
while i < 10:
while j < 10:
if a condition is satisfied:
i, j = j, i
j += 1
i += 1
i,j=0,0
当我<10时:
当j<10时:
如果满足条件:
i、 j=j,i
j+=1
i+=1
您的缩进已损坏。是否缺少此->j被重置回0
?您能告诉我们您试图对这些循环执行什么操作吗?这好像是一个例子,我正在用Python的邻接矩阵寻找一条Euler路径。最简单的例子是一个三角形ABC我可以这样做,但是矩形ABC它给我打印了错误的结果顺序,当我调试时,我没有用j交换。