本帖最后由 jackz007 于 2020-12-23 20:13 编辑
else 的缩进位置不对,调整一下就可以了。把原来属于 if 的 else 语句调整给了 for 语句,在循环正常结束的时候会执行到里面。如果是 break 退出的循环,就不会执行。
遍历寻找的逻辑是这样的,如果找到,可以当即下结论并退出循环,但是,没有找到的结论必须要在循环结束了才可以下。 card_List = [{'name':'张三','phone':'123','email':'123@qq.com'},
{'name':'李四','phone':'234','email':'234@qq.com'},
{'name':'王五','phone':'345','email':'345@qq.com'},
{'name':'赵九','phone':'456','email':'456@qq.com'}]
FindName = input('请输入你要查询的名字:') . strip()
if FindName:
for d in card_List:
if d['name'] == FindName:
print('{}\t\t\t{}\t\t\t{}'.format(
d['name'],
d['phone'],
d['email']))
break
else:
print('该员工不存在')
|