我试图在python中使用条件和for循环来创建一个基本的搜索函数:
emails = ["me@gmail.com", "you@hotmail.com", "them@yahoo.com"]
def search(keyword):
for i in emails:
if keyword in i:
return i
else:
return "Item not found"
keyword = input("Enter search term: ")
print (search(keyword))
但我的功能仅在关键字是第一项的一部分时才有效。例如,如果我尝试搜索“我'或者' gmail'它将返回" me@gmail.com"
mac$ python3 for_loop.py
Enter search term: gmail
me@gmail.com
如果我尝试搜索“你'”,则返回false(else)语句"找不到项目"。
mac$ python3 for_loop.py
Enter search term: hot
Item not found
我做错了什么?
答案 0 :(得分:3)
您不允许搜索列表完成。您的函数检查第一项,当它在字符串中找不到关键字时,返回"Item not found"
而不必费心检查其余项目。而是尝试以下方法:
def search(keyword):
for i in emails:
if keyword in i:
return i
return "Item not found"