0

我一直在尝试使用 itertools、组合和附魔从字符列表中找到所有可能的(英语)单词,最多一组(x)个单词,每个单词没有字符限制。似乎无法找到/创建我正在寻找的东西。不是在寻找讲义或免费赠品,而是真正坚持我朋友传给我的 DnD 密码。

基本上,如果我有:
char_list = ['i', 't', 'c', 'r', 'r', 's', 'f', 'o', 'k', 'p', 'a', 'e', 'u', 'a']

我正在尝试打印:
possible_combos = [["xxx", "xxx", "xxx", "xxx"], ...]

请不要笑,但这就是我一直在努力的。我知道这是不对的,但我很难理解我到底错过了什么。

import itertools

lst = ['i', 't', 'c', 'r', 'r', 's', 'f', 'o', 'k', 'p', 'a', 'e', 'u', 'a']
combinatorics = itertools.product([True, False], repeat=len(lst) - 1)

solution = []
for combination in combinatorics:
    i = 0
    one_such_combination = [lst[i]]
    for slab in combination:
        i += 1
        if not slab:  # there is a join
            one_such_combination[-1] += lst[i]
        else:
            one_such_combination += [lst[i]]
    solution.append(one_such_combination)

print(solution)
4

0 回答 0