【发布时间】:2019-04-12 20:50:38
【问题描述】:
这个想法是你输入任何密码/字符,然后它会尝试通过尝试不同的字母和数字组合来找到你输入的单词(这真的没有意义啊)
现在的问题是“pw_guess”一次只打印一个字母或数字。似乎也有重复。例如,我发现字母“e”被打印了 6 次,但应该只打印一次。
import random
characters = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
pw = input("Enter a password: \n")
pw_lenght = len(pw)
while True:
for i in range(pw_lenght):
random_character = random.randrange(len(characters))
pw_guess = characters[random_character]
if pw_guess == pw:
print('Password found!\nPassword: ', pw)
exit()
print(pw_guess)
假设一次打印和尝试与用户输入的数量一样多的字母/数字。
例如: 您在输入中键入“password123”。然后它会计算有多少 该用户输入中有字符(本例中为 11 个),并且 开始尝试并打印不同的字符组合。 一张印刷品现在应该包含 11 个随机字符。然后在某个时候 它会得到正确的组合并停止。
如上所述,现在它一次只打印一个字符,而且还有我不想要的重复字符。
我试过只给用户输入一个字母,它猜对了,所以它工作正常。
【问题讨论】:
-
您的代码无法将多个随机字符组合成一个更大的密码;它只猜测单个字母。
标签: python python-3.x pycharm