Hay algunos enfoques, el más simple:
>>> import string
>>> import random
>>> string.ascii_letters[:random.randint(1, 50)].title()
'Abcdefghijklmnopq'
>>> string.ascii_letters[:random.randint(1, 50)].title()
'Abcdefghijklmnopqrstuvwxyzabcdefghijklmnopq'
>>> string.ascii_letters[:random.randint(1, 50)].title()
'Abcdefghijklmnopqrs'
O puede tener un ir con itertools
:
>>> import string
>>> import random
>>> from itertools import islice, cycle
>>> def randstr():
... return ''.join(islice(cycle(string.ascii_lowercase),
... random.randint(1, 50))).title()
...
>>> randstr()
'Abcdefghijklmnopq'
>>> randstr()
'Abcdefghijklmnopqrstuvwxyzabcdefghijklmnopq'
>>> randstr()
'Abcdefghijklmnopqrs'
y si el número de rand es> 26 (número de letra en el alfabeto)? – mouad
buena pregunta :) luego 27 letra es a, 28 b y así sucesivamente. Gracias – user278618