【发布时间】:2015-06-11 17:59:13
【问题描述】:
我正在学习 python 并尝试制作电话簿。相当标准的练习,但我在尝试让我的搜索功能遍历字典中的每个值时遇到问题。如果匹配,它只会返回第一项,否则它只会返回None,我不确定我做错了什么。
无特殊原因使用 python 2.6。
phonebook = {"id": 1, "fname" : "Mario", "lname": "Mario", "phone": "XXX-XXX-XXXX"}, \
{"id": 2, "fname" : "Luigi", "lname": "Mario", "phone": "505-123-4567"}
def search_fname(name):
name = str.capitalize(name)
for n in phonebook:
if name == n["fname"]:
return n["id"]
else:
print "No match found."
return 0
def search():
name = raw_input("Please enter the first name: ")
pid = search_fname(name)
if pid != 0:
for n in phonebook:
if n["id"] == pid:
print n["fname"], n["lname"], n["phone"]
【问题讨论】:
标签: python for-loop dictionary