Так вот мой вопрос:Python поиска ключей словаря для поиска ввода
Я хочу, чтобы искать словарь, чтобы увидеть, если какой-либо ключ содержит пользовательские введенные ключевые слова. Например, пользователь ищет Джона.
elif option == 3:
count = 0
found = None
search_key = input("What do you want to search for? ").lower()
for key, val in telephone_directory.items(): #takes each element in telephone directory
if search_key in key: #checks if it contains search_key
if found is None:
found = val
count = 1
if found is not None:
print(" ")
print("More than one match found. Please be more specific.")
print(" ")
count = 2
break
if found is None:
print("Sorry, " + str(search_key) + " was not found.")
print(" ")
function_options() #redirects back
if found is not None and count < 2:
print(str(search_key) + " was found in the directory.")
print("Here is the file on " + str(search_key) + ":")
print(str(search_key) + ":" + " " + telephone_directory[search_key])
print(" ")
function_options() #redirects back
Так вот, где я сейчас. Какой бы поиск ни был, даже если это весь ключ, он возвращает «не найден». Что я делаю не так?
Я хочу, чтобы сделать некоторые соответствия на части имени, вы должны ожидать случая, когда возможны несколько возвратов. Что должно произойти в таком случае? – Josay
Я добавлю случай, где, если он отображает больше 2, он попросит пользователя более конкретно. Не большая проблема. – Aristides