2016-12-02 43 views
0
def sum(x,y): 
    R=[x+y,x*y] 
    return R 
L=[1,2] 
P=[] 
for i in range(1,1000): 
    k=sum(*L) 
    P.append(k) 
    L=k 

我想保存第二個座標大於20的第一個列表L,但我不想在途中停止追加P的過程。所以,要添加如何在for循環中只保存滿足一定條件的第一個元素而不停止它

if L[1]>20: 
    u=L 
    break 

不適用於我。

+0

是什麼假設方案呢?你確定你不需要循環體中的i(循環變量)嗎?請提供你將要做什麼的解釋 – Zich

回答

1

你需要另一個條件添加到if L[1]>20行,所以你得到的第一個(也是唯一的第一個)時間值超過不破麻煩,因爲你不想停止處理。

簡單的改變將初始化u = None,然後有你if成功的前提u是仍然無:

def sum(x,y): 
    ... 
L=[1,2] 
P=[] 
u = None 
for i in range(1, 1000): 
    k=sum(*L) 
    P.append(k) 
    L=k 
    if u is None and L[1] > 20: 
     u = L 
print "First:", u 
相關問題