我有兴趣尝试“暴力破解”字符串的所有可能组合,格式为“## - ######”,其中前两个字符是数字0-9,然后是连字符和六个以上的数字0-9。
我想要做的就是将这些打印到文本文件或控制台。 这对我来说是一次学习练习,而不是学校或工作。
我不是在寻找代码示例,而是参考有关猜测模式的参考资料。
我更喜欢python,但可以使用大多数语言。
谢谢!
答案 0 :(得分:1)
试试这个:
with open('file.out', 'w') as output:
for n in xrange(100000000):
s = "{0:08d}".format(n)
output.write(s[:2] + '-' + s[2:] + '\n')
...但请注意,这是一个很多的组合,你可能会耗尽内存,如果不是,那么结果文件将很大并且该计划将花费大量时间来完成。蛮力在这里不是一个好主意。
答案 1 :(得分:1)
就像一个FYI,那将是10 ^ 8(100,000,000)组合。你很快就会耗尽内存。
无论如何,除了记忆之外......
from itertools import product
["%02d-%06d" % (i[0], i[1]) for i in product(range(100), range(1000000)]