如何设置这个只有大写字母?随机选择

时间:2013-03-01 18:50:53

标签: python

code = ''.join(random.choice(string.letters) for i in xrange(6))

如何设置为仅这个大写字母并在之前添加“RF”?

RF(6个随机大写字母)

示例:

RFQXCZLN

3 个答案:

答案 0 :(得分:3)

改为使用string.ascii_uppercase

>>> import random
>>> import string
>>> 'RF' + ''.join(random.choice(string.ascii_uppercase) for i in xrange(6))
'RFOCJTGN'

使用random.choice()会产生一个随机字符串可以重复字符:

>>> 'RF' + ''.join(random.choice(string.ascii_uppercase) for i in xrange(6))
'RFBYBXHM'

请注意两个B个字符。如果您不想重复字符,请改用random.sample()

>>> 'RF' + ''.join(random.sample(string.ascii_uppercase, 6))
'RFEVKZHD'

并保证6个随机字符不包含重复。

答案 1 :(得分:2)

使用random.samplestring.ascii_uppercase

>>> "RF" + ''.join(random.sample(string.ascii_uppercase, 6))
'RFBGHZMW'

答案 2 :(得分:0)

>>> def getCode(length = 10, char = string.ascii_uppercase):
       return ''.join(random.choice( char) for x in range(length))

>>> import random
>>> import string
>>> getCode(6)
'ADKCGW'

如果你想要其他字符和长度

>>> getCode(5, "mychars")
'ahssh'

codepade上运行

修改 在随机字符前添加“RE”

>>> "RE" + getCode(6)
REIUXWUE