Задача 6. Словарь синонимов
Одна библиотека поручила вам написать программу для оцифровки словарей слов-синонимов. На вход в программу подаётся N пар слов. Каждое слово является синонимом к парному ему слову.
Реализуйте код, который составляет словарь слов-синонимов (все слова в словаре различны), затем запрашивает у пользователя слово и выводит на экран его синоним. Обеспечьте контроль ввода: если такого слова нет, то выведите ошибку и запросите слово ещё раз. При этом проверка не должна зависеть от регистра символов.
Пример:
Введите количество пар слов: 3
1 пара: Привет - Здравствуйте
2 пара: Печально - Грустно
3 пара: Весело - Радостно
Введите слово: интересно
Такого слова в словаре нет.
Введите слово: здравствуйте
Синоним: Привет
Python
Помогите решить задачу на python!
couple_words = int(input('Введите количество пар слов: '))
main_dict = {}
for i_num in range(couple_words):
word_fst, snd_word = input(f'{i_num + 1} пара: ').split()
main_dict[word_fst] = snd_word
synonim = input('\nВведите слово: ').lower()
print('Синоним:', main_dict.get(synonim) or ''.join([word_fst \
for word_fst, snd_word in main_dict.items() if snd_word == synonim]) or 'Такого слова в словаре нет')
main_dict = {}
for i_num in range(couple_words):
word_fst, snd_word = input(f'{i_num + 1} пара: ').split()
main_dict[word_fst] = snd_word
synonim = input('\nВведите слово: ').lower()
print('Синоним:', main_dict.get(synonim) or ''.join([word_fst \
for word_fst, snd_word in main_dict.items() if snd_word == synonim]) or 'Такого слова в словаре нет')
num = int(input('Введите количество пар слов: '))
dict = dict()
for i_num in range(num):
word_list = input(f'{i_num + 1} пара: ').split()
dict[word_list[0]] = word_list[2]
while True:
word = input('\nВведите слово: ').title()
for i_word in dict.items():
if word in i_word[0]:
print('Синоним -', i_word[1])
break
elif word in i_word[1]:
print('Синоним -', i_word[0])
break
else:
print(f'\nТакого слова <{word}> в словаре нет.\nНапишите другое слово')
dict = dict()
for i_num in range(num):
word_list = input(f'{i_num + 1} пара: ').split()
dict[word_list[0]] = word_list[2]
while True:
word = input('\nВведите слово: ').title()
for i_word in dict.items():
if word in i_word[0]:
print('Синоним -', i_word[1])
break
elif word in i_word[1]:
print('Синоним -', i_word[0])
break
else:
print(f'\nТакого слова <{word}> в словаре нет.\nНапишите другое слово')
count_input = int(input('Введите количество пар слов: '))
synonims = dict()
for i in range(1, count_input + 1):
couples = input(f'{i} пара: ').split(' - ')
for couple in couples[:1]:
synonims[couple] = couples[1]
word = input('Введите слово: ').title()
for synonim in synonims:
if word == synonim.title():
print(f'Синоним: {synonims[synonim]}')
break
elif word == synonims[synonim].title():
print(f'Синоним: {synonim}')
break
else:
print('Такого слова в словаре нет')
synonims = dict()
for i in range(1, count_input + 1):
couples = input(f'{i} пара: ').split(' - ')
for couple in couples[:1]:
synonims[couple] = couples[1]
word = input('Введите слово: ').title()
for synonim in synonims:
if word == synonim.title():
print(f'Синоним: {synonims[synonim]}')
break
elif word == synonims[synonim].title():
print(f'Синоним: {synonim}')
break
else:
print('Такого слова в словаре нет')
Денис Колоколов

def dorin(i):
a1 = ('','Первая','Вторая','Третья','Четвертая','Пятая')
if i > 0 and i < 20:
return (a1[i])
count = int(input('Введите количество пар слов: '))
text_dict = dict()
for i in range(1, count + 1):
text = input(f'{dorin(i)} пара: ').lower().split(' - ')
text_dict[text[0].strip()] = text[1].strip()
text_dict[text[1].strip()] = text[0].strip()
# print(text_dict)
while True:
word = input('\nВведите слово: ').lower().strip()
if word == 'end':
break
elif word in text_dict:
print('Синоним:', text_dict[word])
else:
print('Такого слова в словаре нет.')
a1 = ('','Первая','Вторая','Третья','Четвертая','Пятая')
if i > 0 and i < 20:
return (a1[i])
count = int(input('Введите количество пар слов: '))
text_dict = dict()
for i in range(1, count + 1):
text = input(f'{dorin(i)} пара: ').lower().split(' - ')
text_dict[text[0].strip()] = text[1].strip()
text_dict[text[1].strip()] = text[0].strip()
# print(text_dict)
while True:
word = input('\nВведите слово: ').lower().strip()
if word == 'end':
break
elif word in text_dict:
print('Синоним:', text_dict[word])
else:
print('Такого слова в словаре нет.')
def main():
words_count = int(input("Введите количество пар слов: "))
words_dict = get_words_dict(words_count)
get_synonym(words_dict)
def get_words_dict(count):
print("Начните ввод слов по принципу: слово1 - слово2")
words_dict = {}
index_start = 1
for _ in range(count):
word = input("{} пара слов: ".format(index_start)).lower()
word_list = word.split(" - ")
words_dict[word_list[0]] = word_list[1]
index_start += 1
return words_dict
def get_synonym(words_dict):
val_list = list(words_dict.values())
key_list = list(words_dict.keys())
flag = True
while flag:
word = input("Введите слово: ").lower()
if word in words_dict.keys() or word in words_dict.values():
if word in val_list:
key_position = val_list.index(word)
print(key_list[key_position])
flag = False
else:
print(words_dict.get(word))
flag = False
else:
print("Такого слова в словаре нет.")
main()
words_count = int(input("Введите количество пар слов: "))
words_dict = get_words_dict(words_count)
get_synonym(words_dict)
def get_words_dict(count):
print("Начните ввод слов по принципу: слово1 - слово2")
words_dict = {}
index_start = 1
for _ in range(count):
word = input("{} пара слов: ".format(index_start)).lower()
word_list = word.split(" - ")
words_dict[word_list[0]] = word_list[1]
index_start += 1
return words_dict
def get_synonym(words_dict):
val_list = list(words_dict.values())
key_list = list(words_dict.keys())
flag = True
while flag:
word = input("Введите слово: ").lower()
if word in words_dict.keys() or word in words_dict.values():
if word in val_list:
key_position = val_list.index(word)
print(key_list[key_position])
flag = False
else:
print(words_dict.get(word))
flag = False
else:
print("Такого слова в словаре нет.")
main()
N = int(input('Введите количество пар слов: '))
pair_dict = dict()
flag = True
for _ in range(N):
pair = input(f'\n{_ + 1} пара: ').split(' - ')
pair_dict[_] = [pair[0], pair[1]]
while flag:
word = input('\nВведите слово: ').lower()
for key in pair_dict:
for i_word in pair_dict.get(key):
if i_word.lower() == word:
print(f'\nСиноним: {pair_dict.get(key)[(pair_dict.get(key).index(i_word) + 1) % len(pair_dict.get(key))]}')
flag = False
break
if flag:
print('\nТакого слова в словаре нет.')
pair_dict = dict()
flag = True
for _ in range(N):
pair = input(f'\n{_ + 1} пара: ').split(' - ')
pair_dict[_] = [pair[0], pair[1]]
while flag:
word = input('\nВведите слово: ').lower()
for key in pair_dict:
for i_word in pair_dict.get(key):
if i_word.lower() == word:
print(f'\nСиноним: {pair_dict.get(key)[(pair_dict.get(key).index(i_word) + 1) % len(pair_dict.get(key))]}')
flag = False
break
if flag:
print('\nТакого слова в словаре нет.')

Александр Жданов
break забыл внутри if-а, а так твой код лучше
Похожие вопросы
- Пожалуйста, помогите решить задачу на Python. Упражнения 57,58,59,60.
- Помогите решить задачу на Python. Никак не могу решить задачу, больше дня не могу найти ответ! Никакой код не работает.
- Пожалуйста, помогите решить задачу на Python. Упражнение 124, 125, 146
- Помогите решить задачу на python! Упражнение 41,45,47.
- Помогите решить задачу на python! Упражнение 49,50,51,52,53.
- Помогите решить задачу на Python.
- Помогите решить задачу на Python
- Помогите решить задачу на Python
- Нужно решить задачу на Python
- Помогите решить задачу в яндекс-практикуме Python