嗨,所以我想寫一個函數hack()不接受任何參數,並返回一個遍歷所有可能的密碼的迭代器。創建一個迭代器來蠻力
基本上,我不得不用一個迭代器來強制密碼。我所知道的問題是:
- 密碼由三部分組成。
- 密碼的第一段是兩個單詞中的單詞的以下列表的級聯:「你好」,「滾吧」,「狗」,「MrCool」]
- 中段是「Donkey20」
- 而最後段由兩個數字一起(即1和7 = 17),是不大於38(和至少0)
我的思路的方法是這樣的:
- 使用permutati查找所有可能的POSSIBLE_WORDS組合附件()。 (查找所有分段1的可能性)
對於新列表中的每個組合,在末尾添加「Donkey20」。 (例如:helloBEGONEDonkey20)
查找THAT列表和POSSIBLE_NUMBERS中元素之間的所有可能組合。
創建一個迭代器遍歷所有這些可能的密碼,並將其返回
我當前的代碼只能夠做第2步,但不是Donkey20處於它在每個組合結束開始。 (例如Donkey20helloBEGONE而不是helloBEGONEDonkey20)
POSSIBLE_WORDS = ["hello", "BEGONE", "dog", "MrCool"]
MIDDLE = "Donkey20"
possible_numbers1 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
possible_numbers2 = [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28]
possible_numbers3 = [29, 30, 31, 32, 33, 34, 35, 36, 37, 38]
POSSIBLE_NUMBERS = possible_numbers1 + possible_numbers2 + possible_numbers3
from itertools import permutations, combinations
def hack():
first_words = [''.join(word) for word in permutations(POSSIBLE_WORDS, 2)]
first_words.append(MIDDLE)
first_half = [''.join(word) for word in permutations(first_words, 2)]
有什麼辦法解決這個問題?我如何完成剩下的步驟?我可以用不同的方法來編寫這個程序嗎?
任何幫助將非常感謝!
謝謝你的提示,我確實能夠自己完成剩下的工作! –