相当新的Python,但我试图制作一个Scrabble anagram解算器,它将循环一个大文本文件并检查用户给出7个字母机架的字谜。我正在使用is_anagram
函数并使用sorted()
按字母顺序列出单词中的字母,然后使用if
语句查看排序后的单词从字典中等于提供的排序字母。因为正在搜索的字母来自长列表,所以在列表中创建"\n"
,这使得它们不相等。我尝试设置迭代,以便在比较之前从列表中删除'\n'
,但由于某种原因,它将列表返回为None
而不是列表减去{{1} }}。不知道为什么。有人可以帮忙吗?代码如下:
'\n'
答案 0 :(得分:2)
删除换行符后,您无需再次指定x。
def is_anagram(word):
scrabble_dict = open('sowpods.txt')
for x in scrabble_dict:
x = sorted(x)
x.remove('\n')
word = sorted(word)
if word == x:
print(word)