【发布时间】:2022-01-07 19:46:14
【问题描述】:
问题基本上说明了一切。
我正在尝试按顺序查找包含特定字母的单词。 因此,如果我搜索“ers”,它应该只给出“ERStaunding”等词。
这就是我目前所拥有的:(不起作用,因为字符串需要一个字符串作为左操作数)但你明白了:
sorted = []
for i in range(0,len(words)): #"words" is a list of 1600 words
if possible in words[i]: #error because of what I said before
sorted.append(words[i]) #"possible" is a string of letters
print(sorted)
提前致谢!
编辑:
这是我输入/输出的内容:(在伪代码中,它是 uni 的刽子手)
用户输入:“你好”——要猜的词
cpu 猜测:“h”(例如) “h是你的话的一部分吗?(y/n)”
用户输入:“y”
计算机知道“h”在位置 1(通过与必须猜测的单词进行比较) - 愚蠢,我知道,但这是一个例子 :D : h _ _ _ _
现在电脑应该将他所拥有的(h 到索引 0 处的这一点)与数据库中的单词(在我的例子中是 words.txt)进行比较,并且只留下那些以“h”作为首字母的单词。这个过程应该是可以互换的。例如:如果电脑有_ _ l l _,他应该仍然可以过滤单词。
我希望这就是您的示例,希望这对您有所帮助:D
【问题讨论】:
-
1)
sorted()是一个内置的 Python 函数,所以不要将你的结果列表命名为那个。 2)您可以直接迭代列表(for word in words:),因此您根本不需要range()和len()。 3)possible应该可能包含您要查找的字符串。 4) 您需要在某些时候使用upper()或lower(),以便以不区分大小写的方式进行搜索。 -
@PatrickArtner 是的,这行得通,但我正在尝试教 OP 如何使用该语言的各种功能。我怀疑他们还没有在课堂上讲过列表组合。
-
@MattDMo 好的 - 让我们教:亲爱的 OP,edit 您的问题包含一个 minimal reproducible example,它清楚地说明了您的代码使用的所有这些变量是什么。目前我只收到 NameError - 你需要帮助吗?
-
@MattDMo 感谢您的帮助:) 我不使用大写或小写,因为我已将整个库导入为小写。 (text = file.read().lower())
标签: python python-3.x list