gpt4 book ai didi

python - 如何在文本文件中搜索给定单词的字谜

转载 作者:太空宇宙 更新时间:2023-11-04 10:12:52 25 4
gpt4 key购买 nike

我必须在文本文件中搜索给定单词的字谜。文本文件每行一个词。到目前为止,我已经设法编写了一个函数,它根据给定的单词制作字典,键是单词中的一个字母,它的值是该字母在单词中出现的次数。第二个函数遍历文本文件的每一行,创建具有相同键和值的第二个字典,然后比较两者。如果两者相等,则该函数会将那个词添加到列表中。一旦函数完成对文本文件的循环,它应该打印字谜列表,但它打印的是一个空白列表。这是我的代码,我不知道哪里出了问题。

这是为了创建给定单词的字典。

word= input("Enter a word: ")
letterdict = {}

def count_letters(word,letterdict):
for letter in word:
letterdict[letter] = letterdict.get(letter,0) + 1
return letterdict

print(count_letters(word,letterdict))

这是为了遍历文本文件并进行比较

def search():
count_letters(word,letterdict)
anagrams = []
letterdict2={}
f = open('EnglishWords.txt', 'r')
for letter in f:
letterdict2[letter] = letterdict2.get(letter,0) + 1
if letterdict == letterdict2:
anagrams.append[f]
letterdict2.clear()
f.close()
anagrams.sort() #put list in alphabetical order

return print(anagrams)

search()

最佳答案

更快的算法(在循环内,无论如何):只遍历整个字典一次,创建一个新文件,每行有两个单词;第一个是按字母顺序排列的单词,然后是单词本身,例如:

aaadkrrv aardvark
aabcsu abacus
. . .

然后,对该文件进行排序。现在,查找一个单词的所有变位词就是在排序列表中进行简单的直接查找。

关于python - 如何在文本文件中搜索给定单词的字谜,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37199379/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com