2016-03-30 11 views
-2
def print_names(names): 

    """Print the names in the list of names, one per line""" 

    for name in names: 

     print(name) 

print_names(['John', 'Mary', 'Donald']) 
+1

Bunu neden istiyorsun? Bu iyi. – Evert

+1

Eh, isimleri: print names.pop (0) 'diyebilirsiniz ki listenin atıldığı varsayılıyor ama neden bunu yapmak istediğinizi merak ediyorum. Listede yineleme, 'for' döngüsünü kullanmak için doğal bir yerdir. –

cevap

-1

For döngüsünü bir süre döngüsünün içine koyabilirsiniz. Bu en basittir

def print_names(names): 

    """Print the names in the list of names, one per line""" 

    running = True: 
    while running: 

     for name in names: 

      print(name) 

print_names(['John', 'Mary', 'Donald']) 
+0

'print_names' sonsuz bir döngüdür. Asla geri dönmeyecek. –

+0

belirtildiği gibi sonsuz, ama eğer hala bir döngü varsa, ben düşünürsem bile, OP açısından değil. – schwobaseggl

1

(kısa yolu vardır, fakat bu en eşdeğer görünüyor): Genel olarak bir

def print_names(names): 
    i = 0 
    while i < len(names): 
     name = names[i] 
     print(name) 
     i += 1 # make sure to increment before any 'continue' 
+0

"İsim = isimler [i]" diyebileceğimiz için çok güzel, bu yüzden döngü gövdesinin geri kalanını yeniden düzenlemeye gerek yok –

+0

@JohnLaRooy Sizin noktanızı görüyorum ve ayarlayın. – schwobaseggl

+0

Şimdi, bir kişinin döngü gövdesinde 'devam et 'işlevini kullandığını düşünün. Arttırılmayacağım. Artık döngüden sonraki ilk döngüden sonra 'i' kullanmayacağınız için, artığı döngüdeki ikinci çizgiye taşıyabilirsiniz. –

1

eşdeğeri herhangi for döngü dönüştürebilir while döngüsü şöyle:

for X in Y: 
    S 

olur:

it = iter(Y) 
try: 
    while True: 
     X = next(Y) 
     S 
    except StopIteration: 
     pass 

Yani, programınız olur:

def print_names(names): 
    """Print the names in the list of names, one per line""" 
    it = iter(names) 
    try: 
     while True: 
      name = next(it) 
      print(name) 
    except StopIteration: 
     pass 

print_names(['John', 'Mary', 'Donald']) 
İlgili konular