如何循环上面指定的代码部分?

问题描述 投票:0回答:0

word_verification()
函数中,如果条件“'字典中没有这样的词。'”,那么应该再次出现引入该词的请求。我怎么循环???? 请帮助我!)

一个图书馆委托你编写一个数字化同义词词典的程序。提交N对词进入程序。每个单词都是其配对单词的同义词。

实现编译同义词词典的代码(词典中的所有词都是不同的),然后向用户询问一个词并将其同义词显示在屏幕上。提供输入控制:如果没有这个词,则输出错误,重新请求这个词。在这种情况下,检查不应取决于字符的大小写。

name_of_numbers = {1: 'Первая', 2: 'Вторая', 3: 'Третья', 4: 'Четвертая', 5: 'Пятая', 6: 'Шестая', 7: 'Седьмая', 8: 'Восьмая', 9: 'Девятая', 10: 'Десятая', 11: 'Одиннадцатая', 12: 'Двенадцатая', 13: 'Тринадцатая', 14: 'Четырнадцатая', 15: 'Пятнадцатая', 16: 'Шестнадцатая', 17: 'Семнадцатая', 18: 'Восемнадцатая', 19: 'Девятнадцатая'}

the_word_couple = 'пара'

tenths = {2: 'двадцать', 3: 'тридцать', 4: 'сорок', 5: 'пятьдесят', 6: 'шестьдесят', 7: 'семьдесят', 8: 'восемьдесят', 9: 'девяносто'}

round_numbers = {20: 'двадцатая', 30: 'тридцатая', 40: 'сороковая', 50: 'пятидесятая', 60: 'шестидесятая', 70: 'семидесятая', 80: 'восьмидесятая', 90: 'девяностая'}


def get_numbers_by_text():
    pairs_list = []
    number_of_pairs = int(input('Введите количество пар слов: '))

    for number in range(1, number_of_pairs + 1):
        if number <= 19:
            write_pairs = input(f'{name_of_numbers[number]} '
                                f'{the_word_couple}: ').split()
            write_pairs.remove('—')
        elif str(number)[1] != '0':
            write_pairs = input(f'{tenths[int(str(number)[0])].title()} '
                                f'{name_of_numbers[int(str(number)[1])].lower()} '
                                f'{the_word_couple}: ').split()
            write_pairs.remove('—')
        else:
            write_pairs = input(f'{round_numbers[number].title()} '
                                f'{the_word_couple}: ').split()
            write_pairs.remove('—')
        pairs_list.append(write_pairs)

    return pairs_list


def creating_a_dictionary():
    using_the_list = get_numbers_by_text()
    pairs_dict = {i_pair[0]: i_pair[1] for i_pair in using_the_list}

    return pairs_dict


# def search_for_synonyms():
#     while True:
#         word = input('Введите слово: ')
#         return word


def word_verification():
    using_the_dictionary = creating_a_dictionary()
    # using_word = search_for_synonyms()
    # word = input('Введите слово: ')
    while True:
        word = input('Введите слово: ')
        for letter_key, letter_value in using_the_dictionary.items():
            if letter_key == word:
                result = f'Синоним {letter_value}'
            elif letter_value == word:
                result = f'Синоним {letter_key}'
            else:
                result = 'Такого слова в словаре нет.'
            return result


if __name__ == '__main__':
    word_verification()
python-unittest
© www.soinside.com 2019 - 2024. All rights reserved.