Python:制作一个可以在其中搜索的单词书

2024-04-26 12:04:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在写一个代码,我想在其中搜索一个包含单词的数据文件-一个wordbook。只是为了好玩!其思想是定义一些字母,然后程序将找到包含确切输入的单词。 但我已经成功地给出了一些调整,但我已经写了一些代码。在

这是代码块:

def findword():

letters = set(str(raw_input("Type letters: ")))

for item in wordlist:      # already defined list containing the words
    if letters >= set(item):
        if len(item) <= len(letters):
            print item

我用set把字母和单词表进行比较。 问题是输出可以是包含两个相同字母的单词,即使输入可能只包含其中一个字母。那么我怎样才能确保输出的是准确的输入字母,而不是以同样的方式排列呢? 如果你能抽出时间来帮我解决这个问题,我将不胜感激!谢谢!在

亚历克斯


Tags: 代码程序lenif定义数据文件def字母
2条回答

我解释你的问题的方式是,如果输入是,例如abc,你想要匹配cba或{},而不是{}或{}。所以基本上你想找到一个字谜。在

您可以使用字典来记录每个字母的出现次数:

from collections import defaultdict

def make_letter_dict(word):
  letters = defaultdict(int)
  for c in word:
    letters[c] += 1

letters = make_letter_dict(raw_input("Letters: "))
words = (w for w in wordlist if make_letter_dict(w) == letters)

如果只想更改输出的排列方式,那么生成两个随机数,分别位于0和len(outputStr-1)/2之间,len(outputStr-1)/2+1和len(outputStr)-1之间,然后交换它们。在

相关问题 更多 >