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

2024-05-17 02:54:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图让用户输入一个电话号码,然后程序将打开一个文本文件,将其转换为一个列表,搜索列表,如果找到电话号码,它将返回该行的其余部分(其中包含该电话号码的地址)。你知道吗

我只能让它返回“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")

我知道这是因为我在电话号码里写了一行,但我不知道怎样才能不把每一行都写进去。你知道吗


Tags: 用户in程序number列表地址linenot
2条回答

你为什么不直接放弃else语句呢。它应该看起来像:

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

如果您想要一个结果,以防找不到它,您可以使用一个标志。 此外,您可以使用:

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

请尝试以下操作:

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

elsefor循环的一部分,只有在没有break退出for循环时才会执行。你知道吗

相关问题 更多 >