- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我必须在文本文件中搜索给定单词的字谜。文本文件每行一个词。到目前为止,我已经设法编写了一个函数,它根据给定的单词制作字典,键是单词中的一个字母,它的值是该字母在单词中出现的次数。第二个函数遍历文本文件的每一行,创建具有相同键和值的第二个字典,然后比较两者。如果两者相等,则该函数会将那个词添加到列表中。一旦函数完成对文本文件的循环,它应该打印字谜列表,但它打印的是一个空白列表。这是我的代码,我不知道哪里出了问题。
这是为了创建给定单词的字典。
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/
我的程序运行良好,这只是我需要的一个小建议;首先这是我的代码,用于检查两个单词是否是字谜;效果很好; #include int anagram_check(char [], char []); in
面试问题给定两个输入字符串,您只能交换字符串中的两个连续元素。您必须展示将一个字符串转换为另一个字符串的所有步骤(两个字符串将是彼此的字谜)。例如。口香糖到马克杯 古姆百货公司通用汽车大学微量气体发生
我正在尝试学习 Python。考虑这个简单的 C 语言变位词检查器: bool are_anagrams(const char* str1, const char* str2) { int str
(下面关于我的问题的代码) 根据 this stack overflow question我使用 Pegolon 的方法来生成 NSString 中一组字符的所有可能排列。但是,我现在试图让它不仅生成
testing if strings are anagrams有很多种方式.但是,我想知道是否有一种方法可以只对每个单词进行一次迭代?如果不是,在 Python 中最有效的方法是什么? 我们可以遍历第
我是一名优秀的程序员,十分优秀!