|
|
1
60
使用
演示:
这将有效地使用输入集生成逐渐变大的单词,最大长度可达maxlength。 做 不 尝试在存储器中产生长度为10的26个字符的列表;相反,对生成的结果进行迭代:
|
|
|
2
26
如果你真的想强行使用它,试试这个,但它会花费你荒谬的时间:
在一个较小的例子中,list=“ab”,我们最多只能到达5,这将打印以下内容:
|
|
|
3
7
我发现了另一种使用itertools创建字典的非常简单的方法。
这将遍历“a”、“b”、“c”和“d”的所有组合,并创建总长度为1到4的组合。即a、b、c、d、aa、ab。。。。。。。。。,dddc,dddd。generator是一个itertool对象,您可以像这样正常地循环,
每个密码都是元组类型的infact,您可以像往常一样使用它们。 |
|
|
4
4
如果你真的想要一个brueforce算法,不要在你的计算机内存中保存任何大列表,除非你想要一个会因MemoryError而崩溃的慢速算法。 你可以试着这样使用itertools.product:
这个
退货
笔记 以下为: 你想要一个暴力算法,所以我给了你。现在,当密码开始变大时,这是一个非常长的方法,因为它呈指数级增长(花了62秒才找到“已解决”一词)。 |
|
|
5
3
|
|
|
6
3
使用递归的解决方案:
用法:
|
|
|
7
2
|
|
|
8
1
使用itertools和字符串模块的简单解决方案
我用管道将输出输出到一个文件中以保存ram,并使用输入函数将字符限制设置为“hiiworld”之类的值。下面是相同的脚本,但使用了字母、数字、符号和空格的更流畅的字符集。
|
|
|
9
1
|
|
|
10
-2
试试这个:
|