问题描述
|
我想知道什么是最简单的写方法的方法,该方法会生成从1到50的我的数字,然后根据生成的数字来返回我的字符串,例如:
如果生成的数字为6,则为“ 0”
如果生成的数字为9,则为1。
我正在使用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\'
或者,您也可以ѭ3have:
>>> 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\'