我想在列表上运行此循环基本上它会搜索我的范围内的一个数字,直到它找到它在下面的迭代中搜索下一个数字,而是它开始再次如何打破并从我开始在嵌套循环中结束
这是我的代码
z = [30,84,126,135,137,179,242,342,426]
c=[]
for m in z:
for i in range(1,1002, 7):
if m in range(i, i+7):
c.append(m%7)
break
elif m not in range(i, i+7):
c.append(0)
print len(c) # outputs 246
但LEN(C)应该等于143,我该如何解决这个问题?
那你为什么'break'? –
,因为它继续搜索以下范围中的数字,即使它找到它并且在这种情况下len(c)变成1287 –
最简单的方法是将inner for loop提取到方法。那么这些循环不会嵌套,并且不会对你打破哪个循环造成困惑 – MatthewMartin