我想知道什么是最简单的方法来编写从1到50生成数字的方法,然后依赖生成的数字返回我的字符串如下:
Abcdef
如果生成的数字是6
Abcdefghi
如果生成的数字为9。
我正在使用python 3.2
答案 0 :(得分:8)
有一些方法,最简单的方法:
>>> 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'
或者你可以选择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'