Я новичок в 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
как и «Джон Доу», он просто печатает информацию о последнем словаре (независимо от того, какой именно c словарь он указан, последний в порядке всегда будет выводиться) вместо информации Джона Доу. в этом случае он напечатал бы только «Бето Арец». Может кто-нибудь помочь, пожалуйста? Это то, над чем я боролся некоторое время, и это было бы здорово. Я так много исследовал, и я не мог найти что-то с вещами, которые я либо знал, как делать, либо выполнял поиск входных данных.
Спасибо, LR