2014-02-22 141 views
0

我有這樣爲什麼函數只返回一個只有一個成員的列表?

def party_generator(size=1, chars=string.ascii_uppercase): 
    parties = [] 
    for y in range(2): 
     party = ''.join(random.choice(chars) for x in range(size)) 
     parties.append(''.join(['Party ',party])) 
     return parties 

執行它的功能給我

>>> parties = party_generator() 
>>> parties 
['Party Z'] 

我如何使其與2名成員返回一個列表?

回答

2

您的縮進將return放在for循環中,所以它會在第一次迭代時發生。將它移出:

def party_generator(size=1, chars=string.ascii_uppercase): 
    parties = [] 
    for y in range(2): 
     party = ''.join(random.choice(chars) for x in range(size)) 
     parties.append(''.join(['Party ',party])) 
    return parties 

縮進在Python中很重要!

+0

Ohh Brilliant catch jon :) –

相關問題