dict

В Python есть 4 основных встроенных структуры данных: списки, кортежи, множества и словари.

Списки, кортежи и множества используются для хранения отдельных элементов в коллекциях. Словари, с другой стороны, используются для хранения пар ключ-значение. Подобно реальным словарям, где каждому слову соответствует его перевод или объяснение, словари в Python используют ключи для сопоставления с соответствующими значениями. Мы можем хранить словарь стран и их столиц:

capitals = {
    'Armenia': 'Yerevan',
    'Australia': 'Canberra',
    'Austria': 'Vienna',
    'Brazil': 'Brasilia',
    'United States': 'Washington D.C.',
}
print(capitals)
# {'Armenia': 'Yerevan', 'Australia': 'Canberra', 'Austria': 'Vienna', 'Brazil': 'Brasilia', 'United States': 'Washington D.C.'}

Чтобы определить словарь, мы сначала открываем фигурную скобку {, затем размещаем каждый ключ слева от двоеточия :, а значение — справа. Каждая пара ключ-значение разделяется запятой, и определение словаря заканчивается закрывающей фигурной скобкой }.

И ключи, и значения могут быть разных типов. Мы можем хранить информацию о населении городов в словаре:

population = {
    'Yerevan': '1M',
    'Canberra': 395790,
    'Vienna': '1.897 million',
    'Brasilia': 4804000,
    'Washington D.C.': 692683,
}
print(population)
# {'Yerevan': '1M', 'Canberra': 395790, 'Vienna': '1.897 million', 'Brasilia': 4804000, 'Washington D.C.': 692683}

В случае списков и кортежей мы можем получить доступ к отдельным элементам по их индексу [2]. При работе со словарями доступ к элементам осуществляется через ключи:

print(population['Yerevan'])    # 1M
print(population['Brasilia'])   # 4804000
print(population['New York'])   # KeyError: 'New York'
print(population[0])            # KeyError: 0

Если ключ не существует в словаре, Python выдает ошибку, указывая, что такого ключа нет в словаре.

Задание

Google Translate — замечательный инструмент, но сможете ли вы создать его упрощенную версию?

Вы помогаете своему другу изучать французский язык. Он говорит по-английски, поэтому вы хотите написать для него программу, которая по заданному английскому слову или фразе будет выводить соответствующую фразу на французском. Ниже представлены фразы, которые он сейчас изучает:

Английский

Французский

Thank you

Merci

How are you?

Comment ca va?

Hello everyone

Bonjour à tous

This is delicious

C'est délicieux

amazing

étonnante

tasty

savoureux

Замечание: Не используйте конструкции if/else. Намного короче и проще сделать это с помощью словарей.

На вход подается одна строка — фраза на английском языке.

Программа должна вывести соответствующую фразу на французском.

Ввод

Вывод

How are you?

Comment ca va?

tasty

savoureux

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue