【发布时间】:2021-12-09 13:47:58
【问题描述】:
所以这是我尝试查找用户输入的单词并查找包含该单词的行数,如果没有行包含该单词,则输出未找到但是当我输入一个我知道文件中存在的单词时它返回 0 并且不仅文件中的单词它甚至没有像我想要的那样输出没有找到。 (这是我的代码)
response = input('Please enter words: ')
letters = response.split()
count = 0
with open("alice.txt", "r", encoding="utf-8") as program:
for line in program:
if letters in line:
count += 1
if(count < 1):
print("not found")
print(count)
【问题讨论】:
-
"split" 返回一个列表,但 "line" 是一个字符串。列表永远不在字符串中。您需要一个内部循环来逐个检查“字母”中的每个单词。
-
str.split()返回按空格字符拆分的字符串列表。为什么输入提示说“输入单词”,但你在拆分后将它分配给一个名为letters的变量? -
请注意,由于它当前是缩进的,
if count < 1块是无法访问的代码,因为该条件永远不会为真。