我想知道最简单的编写方法的方法是生成从 1 到 50 的数字,然后根据生成的数字返回字符串,如下所示:
Abcdef
如果生成的数字是 6
Abcdefghi
如果生成的数字是 9。
我正在使用 python 3.2
最佳答案
有几种方法,最简单的:
>>> 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'
关于python - 从 [A-z] 生成飞行字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6174827/