Jumble anagram最长词python

时间:2017-10-28 16:12:26

标签: python algorithm

此算法将输入一个数字,然后从.txt文件返回字典中具有该长度的字谜数量。如果我输入5,当我应该根据我的列表得到5046时,我得到6783的输出。我不知道还有什么可以改变的。

例如:输入5应返回5046

我也一直试图在列表中搜索字长的正整数,以收集字符数最多的字词,我不知道从哪里开始。

ex:字长为4的输入应该返回最大的字谜数量6,并输出字谜列表,例如

[’opts’, ’post’, ’pots’, ’spot’, ’stop’, ’tops’]

def maxword():
    input_word = int(input("Enter word length (hit enter key to quit):"))

word_file = open("filename", "r")

word_list = {}
alist = []
for text in word_file:
    simple_text = ''.join(sorted(text.strip()))
    word_list.update({text.strip(): simple_text})
count = 0
for num in word_list.values():
    if len(num) == input_word:
        count += 1
        alist.append(num)
return str(input_word) + str(len(alist))

1 个答案:

答案 0 :(得分:0)

这可以通过输入文本文件的单次传递来实现。您对单词进行排序并将其存储在地图中的想法是正确的方法。

使用排序后的单词作为键来构建字典,因为它对于所有字谜都是相同的,并且具有与作为键的键相同的排序单词的单词列表。

为了避免再次循环字典,我们会跟踪具有最大长度的密钥作为其值。

如果构建此file = open("test.txt", "w") file.close() 字典只使用一次特定长度,那么您只能考虑字典长度为word_list的单词。

input_word