编程到Python上不可言说的单词

时间:2017-10-07 12:27:06

标签: python

我想在python中编写一个程序,它将解除给定的字母串。我也希望这个程序只给我长度等于输入的混乱字符串的单词。例如,如果输入id“dgo”“dog”和“god”是可行的答案但不是“go”。 关于我将如何编写这个程序的任何想法或建议?

1 个答案:

答案 0 :(得分:2)

要实现这一目标,您需要一个可行词汇数据库。一本英文词典就可以了。

一种方法是检查数据库中混乱字符串字谜的单词。这是一个天真的算法:

  • 将可行的单词读入适当的数据结构,python dicttuple就足够了。假设可行单词存储在列表中:wordlist
  • 对混乱的单词进行排序,并依次将其与wordlist中的每个(已排序)单词进行比较。
  • 打印每个阳性结果。

    一个简单的实现将如下所示:

    sorted_jumbled_word = "".join(sorted(jumbled_word))
    for word in wordlist:
        if sorted_jumbled_word == "".join(sorted(word)):
            print(word)
    

    注意这是非常低效的(因为它将搜索整个可行单词列表)。您可以使用包含排序单词作为键的字典和每个可能的anagram作为值。 不过这应该可以让你开始。