Вы хотите выделить l oop, как только найдете совпадение (после печати), или напечатать одно сообщение в конце, если город не был найден:
geomap = {
"UK": ["London", "Manchester", "Liverpool"],
"Czech Republic": ["Prague", "Brno", "Ostrava"],
"Slovak Republic": ["Bratislava", "Košice"],
"USA": ["Washington", "New York", "Detroit"],
"Germany": ["Berlin", "Hamburg", "Munich"]
}
search = input("Tell me city and I'll tell you country: ")
for country, cities in geomap.items():
if search in cities:
print(search, "found in", country)
break
else:
print(search, "not found")
Уведомление что else
не совпадает с if
. Это конструкция for/else
: ветвь else
выполняется только в том случае, если l oop завершается без запуска каких-либо break
.
. В код можно внести несколько других улучшений (например, именование переменных, печать аргументов и т. д. c. но это больше для CodeReview SE).