首先,我希望这是允许的。我丢失了一个非常重要的个人文件的密码,我试图强制它,所以我可以把它取回来,但是当我试图找到代码使它工作时我发现了这个,但它是半破碎的。它会找到密码,如果它是“fg”但不是如果它是“gf”,有人可以告诉我为什么以及如何解决它?
import traceback
from itertools import combinations
lookingfor = "fg"
try:
letritas = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "ñ", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9"]
for c in combinations(letritas, 2):
combinacion1 = str(c).replace("', '", "")
combinacion2 = combinacion1.replace("('", "")
combinacion3 = combinacion2.replace("')", "")
print("Trying: ["+combinacion3+"]")
if lookingfor == combinacion3:
print("Found on: "+combinacion3)
break
假设工作并创建所有组合,每次我在实际代码上得到错误的一个,我得到一个OSError,我想知道是否有办法设置除了OSERROR:忽略错误并继续循环直到找到正确的。
编辑:这是python 3.3.2
答案 0 :(得分:0)
Permutations做了诀窍,我找到了一种重复代码的方法,不包括尝试过的代码,那是
if not combinacion3 in comprobadas:
print("Trying: ["+combinacion3+"]")
comprobadas.append(combinacion3)
这样它可以存储所有尝试过的,并且不会在下次尝试时尝试。