Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как можно было бы улучшить этот код для поиска похожих задач в файле?

Вертолётов 625 Мудрец (13332), открыт 2 недели назад
Это первая реализация идеи программы из этого моего вопроса: https://otvet.mail.ru/question/240524611

Код:
 import difflib 
import os

def load_tasks(file_path):
"""Загружает задачи из текстового файла."""
if not os.path.exists(file_path):
print(f"Файл {file_path} не найден.")
return []

with open(file_path, 'r', encoding='utf-8') as file:
tasks = file.readlines()
return [task.strip() for task in tasks]

def find_similar_tasks(tasks, query, threshold=0.6):
"""Находит похожие задачи на основе заданного запроса."""
similar_tasks = []
for task in tasks:
similarity = difflib.SequenceMatcher(None, query, task).ratio()
if similarity >= threshold:
similar_tasks.append((task, similarity))
return similar_tasks

def main():
# Путь к файлу с задачами (измените на нужный вам путь)
file_path = 'C:\\Users\\Admin\\Desktop\\File.txt' # Укажите полный путь к вашему файлу с задачами

# Загружаем задачи
tasks = load_tasks(file_path)

if not tasks:
print("Нет задач для поиска.")
return

# Запрашиваем у пользователя ввод задачи для поиска
query = input("Введите задачу для поиска похожих: ")

# Находим похожие задачи
similar_tasks = find_similar_tasks(tasks, query)

# Выводим результаты
if similar_tasks:
print("\nПохожие задачи:")
for task, similarity in similar_tasks:
print(f"- {task} (Сходство: {similarity:.2f})")
else:
print("Похожие задачи не найдены.")

if __name__ == "__main__":
main()
В принципе код работает, но может его можно улучшить?
0 ответов
Похожие вопросы