2013-05-20 94 views
1

我需要在python中生成隨機字符串,即範圍01-12。如果數字低於10,零必須在前面。所以基本上我需要函數返回類似05或09或11的東西。我可以用隨機類來做點什麼嗎?或者我只是定義和數組,其中包含這12個字符串,並從那裏通過隨機索引?蟒蛇,生成範圍內的隨機字符串01-12

回答

5
>>> import random 
>>> format(random.randint(1, 12), '02') 
'07' 
1
from random import randint 
print '%02d' % randint(1, 12) 
7
>>> import random 
>>> "%02d"%random.randrange(1, 13) 
'07' 

>>> format(random.randrange(1, 13), '02') 
'06' 

>>> str(random.randrange(1, 13)).zfill(2) 
'12' 

>>> '000000000111123456789012'[random.randrange(12)::12] 
'04' 
+1

如果您發現自己處於一個模糊的Python比賽中,那最後一個是好的。 :/ – geoffspear

0

我認爲最好的方法是構建數組並使用random.choice。

random.choice(['0' + str(i) if i<10 else str(i) for i in range(13)])