我是python的新手,我需要一些帮助。我正在制作员工列表菜单。我的词典列表是:
person_infos = [ {'name': 'John Doe', 'age': '46', 'job position': 'Chair Builder', 'pay per hour': '14.96','date hired': '2/26/19'},
{'name': 'Phillip Waltertower', 'age': '19', 'job position': 'Sign Holder', 'pay per hour': '10','date hired': '5/9/19'},
{'name': 'Karen Johnson', 'age': '40', 'job position': 'Manager', 'pay per hour': '100','date hired': '9/10/01'},
{'name': 'Linda Bledsoe', 'age': '60', 'job position': 'CEO', 'pay per hour': '700', 'date hired': '8/24/99'},
{'name': 'Beto Aretz', 'age': '22', 'job position': 'Social Media Manager', 'pay per hour': '49','date hired': '2/18/12'}]
和我的“搜索字典输入功能列表”是程序应如何根据用户输入的名称打印正确的词典:
def search_query(person_infos):
if answer == '3':
search_query = input('Who would you like to find: ')
they_are_found = False
location = None
for i, each_employee in enumerate(person_infos):
if each_employee['name'] == search_query:
they_are_found = True
location = i
if they_are_found:
print('Found: ', person_infos[location]['name'], person_infos[location]['job position'], person_infos[location]['date hired'], person_infos[location]['pay per hour'])
else:
print('Sorry, your search query is non-existent.')
而且我也有这个-
elif answer =='3':
person_infos = search_query(person_infos)
这似乎是朝正确方向迈出的一步,但对于
search_query = input('Who would you like to find: ')
如果我在person_infos
中输入名称,例如“ John Doe”,它将仅打印最后一个词典的信息(无论它是哪个特定的词典,顺序中的最后一个总是输出),而不是John Doe的信息。 。在这种情况下,它将仅打印“ Beto Aretz's”。有人可以帮忙吗?这是我一直在努力的事情,那会很棒。我已经进行了很多研究,无法找到一些我知道该怎么做的东西,或者是输入搜索的东西。
谢谢,LR
location=i
不在if语句中缩进,因此它在for循环的每次迭代中都被设置为最新的i
。让我知道是否有帮助。def search_query(person_infos):
if answer == '3':
search_query = input('Who would you like to find: ')
they_are_found = False
location = None
for i, each_employee in enumerate(person_infos):
if each_employee['name'] == search_query:
they_are_found = True
location = i
if they_are_found:
print('Found: ', person_infos[location]['name'], person_infos[location]['job position'], person_infos[location]['date hired'], person_infos[location]['pay per hour'])
else:
print('Sorry, your search query is non-existent.')