2017-04-10 124 views
0

我有,我想每一個循環的末尾增加一倍龜元素的列表,但它沒有返回複製龜列表元素用n爲每次循環

level = 1 

number_of_enemies = 5 
enemies = [] 
for i in range(number_of_enemies):` 
    enemies.append(turtle.Turtle()) 

while True: 
    for level < 4 
     [for enemy in l for enemies in repeat(enemy, level)] 
     for enemy in enemies: 
       (do_stuff) 
    level += 1 
+0

你應該給你正在試圖完成什麼,但是,你的問題可能來源於這樣的事實,你沒有做任何事情與您的清單理解,只是創造一個名單,然後投入更多細節因爲你永遠不會把它分配給一個變量! –

+0

在第一個循環結束時,應該是5,然後是10,然後是15. – windowpaine

+0

對,我不確定你的代碼如何實現,但我懷疑你對列表理解感到困惑,因爲你永遠不會將結果列表分配給一個變量,並且該列表被簡單地丟棄,所以什麼都不會實現。 –

回答

0

生成的敵人加倍然後通過enemies = [generate_turtle_object_somehow for i in range(2*l)]列出敵人的長度。此外,列表理解返回結果列表,因此需要適當地分配。 代碼:

level = 1 
turtle = "turtle" 
number_of_enemies = 5 
enemies = [] 
for i in range(number_of_enemies): 
    enemies.append(turtle+str(i+1)) 
#print enemies 

while level < 4: 
    print "level", level 
    l = len(enemies) 
    enemies = [turtle+str(i+1) for i in range(2*l)] 
    print enemies 
    print len(enemies) 
    for enemy in enemies: 
     pass 
    level += 1