2 回答

TA贡献1808条经验 获得超4个赞
如果有人要系统地尝试所有不同的密码,那么他需要迭代所有可能的组合,而不是尝试两次相同的组合。这是在 Python 中执行此操作的一种方法:
import itertools
import string
real_pass = 'AAC'
def find_num_iterations_to_guess_password(pass_length):
all_letters = string.ascii_uppercase
iterations = 0
for i in itertools.product(all_letters, repeat=pass_length):
guess = ''.join(i)
if guess == real_pass:
print(f'the real password is {guess} and was guessed after {iterations}')
break
iterations += 1
find_num_iterations_to_guess_password(len(real_pass))

TA贡献1875条经验 获得超3个赞
比随机生成猜测并与已使用的选项列表进行比较更好的选择是通过算法创建所有可能的 n 长度产品并迭代它们:
from itertools import product
import string
for i in product(string.ascii_uppercase, repeat=3):
if ''.join(i) == 'AAA':
print("Found")
break
编辑:使用product,不permutation
添加回答
举报