[英]Converting txt file to list and returning line after user input search
我正在尝试让用户输入电话号码,然后程序将打开一个文本文件,将其转换为列表,搜索列表,如果找到了电话号码,它将返回该行的其余部分(其中包含该电话号码的地址。
我只能让它返回“找不到电话号码”或该行,但是它对每一行都执行此操作,因此最终得到这样的输出:
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")
我知道这是因为我已经在电话号码中加入了行号,但不知道如何不对每一条线都这样做。
尝试以下方法:
for line in phonenumbers:
if number in line:
print (line)
break
else:
print ("phone number not found")
在else
的部分for
循环,如果你没有将只执行break
了的for
循环。
您为什么不只删除else语句。 它看起来应该像这样:
for line in phoneNumbers:
if phone in line:
print line
如果希望得到结果,以防找不到,可以使用标志。 此外,您可以使用:
print [line for line in phonenumbers if number in line]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.