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

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

RF(6个随机大写字母)

例子:

RFQXCZLN
4

3 回答 3

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个随机字符不包含重复。

于 2013-03-01T18:51:26.060 回答
2

使用random.samplestring.ascii_uppercase

>>> "RF" + ''.join(random.sample(string.ascii_uppercase, 6))
'RFBGHZMW'
于 2013-03-01T18:53:19.837 回答
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'

在键盘上运行

编辑 在随机字符前面添加“RE”

>>> "RE" + getCode(6)
REIUXWUE
于 2013-03-01T18:54:46.160 回答