我需要在 python 中生成随机字符串,范围为 01 - 12。如果数字低于 10,则前面必须有零。所以基本上我需要该函数返回 05 或 09 或 11 之类的东西。可以我以某种方式使用随机类来做到这一点?还是我只是定义包含这 12 个字符串的数组并通过随机索引从那里获取它?
问问题
1142 次
4 回答
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'
于 2013-05-20T08:57:28.943 回答
5
>>> import random
>>> format(random.randint(1, 12), '02')
'07'
于 2013-05-20T08:56:48.180 回答
1
from random import randint
print '%02d' % randint(1, 12)
于 2013-05-20T08:56:55.317 回答
0
我认为最好的方法是构建数组并使用 random.choice。
random.choice(['0' + str(i) if i<10 else str(i) for i in range(13)])
于 2013-05-20T09:08:02.137 回答