2014-02-21 22 views
0
def tradeid_generator(): 
    tradeid = ''.join(random.choice(string.ascii_uppercase) for x in range(2)) 
    return ''.join(tradeid,random.choice(string.digits) for x in range(4)) 

我需要得到類似2個隨機字母后跟4個數字的內容。2隨機字母后跟4位數字

但我發現了以下錯誤:

SyntaxError: Generator expression must be parenthesized if not sole argument

+0

''{} {:04}'。format(tradeid,random.randrange(10000))'? – falsetru

回答

1

只需加入你的字符串:

tradedid + ''.join(random.choice(string.digits) for x in range(4)) 

否則,您return語句有錯誤join。您有兩個參數,但只有一個參數,random.choice(string.digits) for x in range(4)也是一個沒有括號的生成器表達式。

+0

簡單明瞭:) –