python,生成范围01-12的随机字符串

时间:2013-05-20 08:55:07

标签: python random python-2.7

我需要在python中生成随机字符串,即在01-12的范围内。如果数字低于10,那么零必须在前面。所以基本上我需要函数返回类似05或09的东西或者11.我能以某种方式使用随机类吗?或者我只是定义和包含这12个字符串的数组并从那里随机索引?

4 个答案:

答案 0 :(得分: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 :(得分:5)

>>> import random
>>> format(random.randint(1, 12), '02')
'07'

答案 2 :(得分:1)

from random import randint
print '%02d' % randint(1, 12)

答案 3 :(得分:0)

我认为最好的方法是构建数组并使用random.choice。

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