0

まず、これが許可されることを願っています。非常に重要な個人ファイルのパスワードをなくしてしまったので、それを取り戻せるように強制的に削除しようとしています。「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です

4

1 に答える 1

0

順列はトリックを行い、試したものを除いてコードを繰り返す方法を見つけました。

  if not combinacion3 in comprobadas:
    print("Trying: ["+combinacion3+"]")
    comprobadas.append(combinacion3)

そうすれば、試行されたものはすべて保存され、次の試行では試行されません。

于 2013-10-05T17:56:31.320 に答える