将 txt 文件转换为列表并在用户输入搜索后返回行

Converting txt file to list and returning line after user input search

我试图让用户输入电话phone号码,然后程序将打开一个文本文件,将其转换为列表,搜索列表,如果 phone 号码发现它将 return 行的其余部分(其中包含该 phone 号码的地址。

我只能将它发送到 return "phone number not found" 或行,但它对每一行都这样做,所以我最终得到这样的输出:

phone number not found
phone number not found
0121 254132 18 Springfield Road
phone number not found
phone number not found

for line in phonenumbers:

    if number in line:
        print (line)
    else:
        print ("phone number not found")

我知道这是因为我在 phone 个数字中输入了行,但不知道如何不为每一行都这样做。

尝试以下操作:

for line in phonenumbers:    
    if number in line:
        print (line)
        break
else:
    print ("phone number not found")

elsefor 循环的一部分,只有当您没有 break 退出 for 循环时才会执行。

你为什么不直接删除 else 语句。它应该看起来像:

for line in phoneNumbers:
  if phone in line:
     print line

如果您想要在未找到结果的情况下获得结果,您可以使用标志。 此外,您可以使用:

print [line for line in phonenumbers if number in line]