我正在试图制作一个程序,该程序将读取.txt文件中的单词,并让用户输入自己选择的字母,程序将打印出所有匹配。将输入字母与Python中的字典进行匹配
这是我走到这一步:
fil = open("example.txt", "r")
words = fil.readlines()
letters = raw_input("Type in letters: ")
compare = set(letters)
lista = []
for a_line in words:
a_line = a_line.strip()
lineword = set(a_line)
if compare >= lineword:
lista.append(rad)
print lista
现在,这只能在一定程度上。它确实将用户输入与.txt文件的内容相匹配,但我希望它更加精确。例如: 如果我放入“hrose”,它会找到我“马”,但它也会找到我与两个“玫瑰”,因为它只比较元素,而不是金额
我怎样才能使程序到只有使用指定的字母?
您正在寻找anagrams。对单词中的字母进行排序,并且不要使用一套。例如。马 - > ehors,玫瑰 - > eorss。 – 2014-09-10 11:40:22
我不认为单独排序会做到这一点。看起来他正在寻找超级赛马,即“马匹”应该与“玫瑰”匹配。 – 2014-09-10 11:45:42
是的,对不起,该部分来源未翻译。现在编辑它。 @PeterWood我该怎么做?我想你的建议是反对这个词的每个字母的某种迭代? – SereneVirus 2014-09-10 11:46:16