我想知道什么是最简单的方法来编写从1到50生成数字的方法,然后依赖于生成的数字返回我的字符串如:
Abcdef如果生成的数字是6@H_502_3@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'