Top.Mail.Ru
Ответы

Python 3. синоним к данному слову

Добрый вечер. Прошу помочь в решении задачи в Python 3.
Дан словарь - набор пар слов.
Слова в паре являются синонимы к друг другу.
Все слова в словаре различны.
Выведите для одного данного слова определите его синоним. Если синонима нет, то выведите No synonim.

Формат ввода
Программа получает на вход количество пар синонимов N.
Далее следует N строк, каждая строка содержит ровно два слова-синонима, записанных через один пробел
После этого следует одно слово.
Словом считается непустая последовательность символом без пробелов.

Формат вывода
Одно слово - синоним к данному слову.

Пример
Ввод
3
Hello Hi
Bye Goodbye
List Array
Goodbye

Вывод
Bye

По дате
По рейтингу
Аватар пользователя
Новичок
5лет

n = int(input())
dict_ = {}

for _ in range(n):
____k, v = input().split()
____dict_[k] = v

synonim = input()

print(dict_.get(synonim) or ''.join([k for k, v in dict_.items() if v == synonim]) or 'No synonim')

Аватар пользователя
Просветленный
5лет

n = int(input())
A = []
for _ in range(n):
~~~~A.append(input().title().split())

w = input().title()
for a in A:
~~~~if w in a:
~~~~~~~~print(a[(a.index(w)+1)%2])
~~~~~~~~break
else:
~~~~print('No synonim')

Аватар пользователя
Мастер
5лет

n = int(input())
dict = []

for i in range(n):
_dict.append(list(input().split()))

search = input()
for word in dict:
_if word[0] == search:
__print(word[1])
_elif word[1] == search:
__print(word[0])

Проверил, работает, и в 2 раза легче чем у Alexandr Steve

Аватар пользователя
Мыслитель
5лет

dict = {"Hello": "Hi", "Goodbye": "Bye"}

temp = []
for i in dict: temp.append(i)

INPUT = input("Введите слово\n>>> ").lower()
for i in range(len(temp)):
____if i == len(temp): print("Синонима нет"); break

____if temp[i] .lower() == INPUT:
________for n in dict:
____________if n == temp[i]:
________________print(dict[n])