Python 3. синоним к данному слову
Добрый вечер. Прошу помочь в решении задачи в Python 3.
Дан словарь - набор пар слов.
Слова в паре являются синонимы к друг другу.
Все слова в словаре различны.
Выведите для одного данного слова определите его синоним. Если синонима нет, то выведите No synonim.
Формат ввода
Программа получает на вход количество пар синонимов N.
Далее следует N строк, каждая строка содержит ровно два слова-синонима, записанных через один пробел
После этого следует одно слово.
Словом считается непустая последовательность символом без пробелов.
Формат вывода
Одно слово - синоним к данному слову.
Пример
Ввод
3
Hello Hi
Bye Goodbye
List Array
Goodbye
Вывод
Bye
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')
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')
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
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])