2017-04-10 27 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