我想在列表上運行此循環基本上它會搜索我的範圍內的一個數字,直到它找到它在下面的迭代中搜索下一個數字,而是它開始再次如何打破並從我開始在嵌套循環中結束
這是我的代碼
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