Форум сайта python.su
Дан список стран и городов каждой страны. Затем даны названия городов. Для каждого города укажите, в какой стране он находится.
Сначала на ввод передается n - число стран, затем n строк (слова в строке разделены пробелами, первое слово в строке - название страны, остальные города, которые в ней находятся). Потом передается m - число городов, для которых надо вывести страну, затем каждый город на новой строке.
Подсказка: воспользуйтесь структурой dict
Пример ввода:
4
Россия Москва Воронеж Владивосток
Германия Берлин Дрезден Мюнхен
Нидерланды Амстердам Утрехт
Бельгия Брюссель
3
Воронеж
Утрехт
Москва
Вывод программы:
Россия
Нидерланды
Россия
помогите с решением! не понимаю с чего начать и что дальше(
Офлайн
>>> def f(): ... n = int(input()) ... countries_dct = {} ... for _ in range(n): ... lst = input().split() ... countries_dct[lst[0]] = set(lst[1:]) ... m = int(input()) ... out = [] ... for _ in range(m): ... city = input() ... out.extend(country for country, city_lst ... in countries_dct.items() ... if city in city_lst) ... print(*out, sep='\n') ... >>> f() 4 Россия Москва Воронеж Владивосток Германия Берлин Дрезден Мюнхен Нидерланды Амстердам Утрехт Бельгия Брюссель 3 Воронеж Утрехт Москва Россия Нидерланды Россия >>>
Офлайн
xaustov94
Дан список стран и городов каждой страны. Затем даны названия городов. Для каждого города укажите, в какой стране он находится.
Сначала на ввод передается n - число стран, затем n строк (слова в строке разделены пробелами, первое слово в строке - название страны, остальные города, которые в ней находятся). Потом передается m - число городов, для которых надо вывести страну, затем каждый город на новой строке.
Подсказка: воспользуйтесь структурой dict
Отредактировано far4ikg (Ноя. 30, 2021 16:03:02)
Офлайн