Проект День 5

Несколько дней назад я и мой друг Иреаёми, менеджер по социальным сетям, начинаем 100-дневный челлендж. Вы также можете ознакомиться с некоторым контентом, который она создала здесь. Задача состоит в том, чтобы работать над чем-то, что улучшит наш набор навыков и даст нам преимущество. Кроме того, мы ежедневно откладываем 500 долл. США за выполнение задания, но если вы не можете этого сделать, вы вносите 1 000 долл. США вместо 500 долл. США. Деньги предназначены для того, чтобы получить что-то в конце 100 дней (еще не решить, что).

Для нее это создание контента на 100 дней, а мне 100 дней писать код. Это буквально не обязательно должен быть весь код. Это может быть визуализация, изучение чего-то нового и написание об этом.
Последние несколько дней я работал над Flask и обновлял свои базовые навыки работы с Python. Исследуя библиотеку на питоне, я наткнулся на библиотеку difflib. Я продолжил свое исследование и нашел очень интересный модуль, который, я думаю, использует популярная поисковая система (Google). Модуль get_close_matches.

Вот это консольное приложение со словарем Python, которое я написал во время обучения на Udemy. Я ищу дополнительные данные, чтобы сделать определение слова в словаре
достаточно надежным и интеллектуальным, чтобы предложить наилучшее соответствие для вашей строки запроса. Я нашел этот дамп Websters English Dictionary на github.

Я использовал файл .json, однако вы можете использовать все данные здесь, как отдельные файлы, так и комбинированный файл здесь.

Теперь приступим к работе.
Это консольное приложение, созданное с использованием языка программирования Python. Он берет слово у пользователя и возвращает его определение из файла dictionary.json. Он также дает наиболее подходящее слово, когда пользователь вводит слово с неправильным написанием.

Поскольку наши данные представляют собой файл .json, который представляет собой файл нотации объектов Javascript, необходимо импортировать модуль json. Json — это словарь типа данных.
Затем интеллектуальная функция, представленная в difflib. Обратите внимание, что difflib имеет много модулей и не указывает, что мы хотим. Вот что привело к импорту get_close_matches.

Сохранение наших данных в переменной — это следующая линия действий, чтобы мы могли ссылаться на них в любом месте кода.

Здесь обрабатываются предложение всего слова, получение правильного вывода слова, вывод на консоль. Важность функции можно переоценить.

Из строки 9–11: обрабатывает циклический просмотр файла данных для проверки пользовательского запроса
Из строки 12–22: вам нужно прочитать, как работает get_close_matches, чтобы хорошо понять, но я надеюсь, что смогу отдать ему должное. здесь. Он работает таким образом, что ранжирует слово в соответствии со значением, поэтому я сделал здесь следующее: как только значение больше нуля (0), пусть оно пройдет и выберет первое слово в списке выбранных слов. с помощью модуля get_close_matches.
.upper() в конце строки помогает сделать первую букву пользовательского запроса заглавной из-за способа форматирования данных.
Другое строки обрабатывают поток операций программы

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

Итак, одна вещь, которую нужно сделать здесь, — это правильная организация набора данных и использование типа структуры. Вы также можете внести свой вклад в проект здесь.

Результаты при тестировании:

Не забудьте поделиться и следить за больше. 💕🔥💖🙌👏😘