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 に答える