顺序生成字母数字字符串
问题内容:
我正在尝试创建一个循环来生成和打印字符串,如下所示:
- 仅字母数字字符:
- 0-9在AZ之前,在az之前,
- 长度最多为4个字符。
因此,它将打印:
- 从0-z的所有字符串
- 然后从00-zz
- 然后从000-zzz
- 然后从0000-zzzz
然后停止。
问题答案:
from string import digits, ascii_uppercase, ascii_lowercase
from itertools import product
chars = digits + ascii_uppercase + ascii_lowercase
for n in range(1, 4 + 1):
for comb in product(chars, repeat=n):
print ''.join(comb)
首先,将所有数字,大写字母和小写字母组成一个字符串。
然后,对于1-4中的每个长度,它将打印这些数字和字母的所有可能组合。
请记住,这是很多组合-62 ^ 4 + 62 ^ 3 + 62 ^ 2 + 62。