Небольшая помощь с Python

Задание закрыто
Стоимость:1 000 рублей
Срок выполнения:5 дней
Варианты оплаты:По договоренности
Дата публикации:2024-03-25 17:37
Был(а) на сайте:2024-03-28 17:00

Небольшая помощь с Python

 
Задача

В настоящее время я использую следующий код, чтобы определить, содержатся ли все ключевые слова в строке:
def containsAllKeywords(text, keywords):
for keyword in keywords:
if keyword.lower() in text.lower():
continue
else:
return False
return True

Я не уверен, что этот код работает должным образом. Для text="ernest hemingway sun also rises" я хочу, чтобы ключевые слова "hemingway, ernest" принимали значение True.

Оставлять заявки могут только авторизованные пользователи.
Office Macro
Специализация: Программирование и IT
  • 1 000 руб5 дней
Заданного поведения можно добиться после уточнения формата передачи ключевых слов.
Александр
Специализация: Программирование и IT
  • 1 000 руб5 дней
если keywords передается тут в виде массива, то есть один нюанс с "keyword.lower()"
если keywords передается, как строка, то сперва надо разбить на массив слов
Narek Bayanduryan
Специализация: Веб-разработка
  • 1 000 руб1 день
Проблема в вашей текущей функции заключается в том, что она проверяет наличие каждого ключевого слова в строке текста независимо от порядка их следования. В вашем случае, вам нужно убедиться, что все ключевые слова присутствуют в тексте в любом порядке.

Напишите мне в телеграмм и мы вместе по звонку разберем вашу задачу.

Мой телеграмм:
https://t.me/Narek_76
Павел Лебедев
Специализация: Программирование и IT
  • 1 000 руб1 день
Здравствуйте!
Я начинающий разработчик с опытом работы в области программирования и анализа данных. Я внимательно ознакомился с вашим заданием и уверен, что могу выполнить ваш проект эффективно и в срок.

Мои ключевые навыки включают:

- Глубокие знания Python и опыт работы с различными библиотеками.
- Способность писать чистый, эффективный и легко поддерживаемый код.
- Опыт оптимизации алгоритмов для повышения производительности.

Что я предлагаю:

- Быстрое и точное выполнение задачи с учетом всех ваших требований.
- Постоянная связь для обсуждения деталей проекта и внесения корректировок.
- Гарантия качества и соблюдение сроков.

Я готов начать работу над вашим проектом немедленно и буду рад обсудить детали в чате. Спасибо за рассмотрение моей кандидатуры!
Аян Айтпайев
Специализация: Веб-разработка
  • 1 000 руб1 день
Имею небольшой опыт в данной сфере и знаю как вам помочь
Могу показать, как это сделать
Я немного не понимаю что вы хотите но я могу вам помочь, для уточнение информации напишите в телеграмм @Ilyapetrov3
Альберт Федоров
Специализация: Программирование и IT
  • 1 000 руб1 день
Добрый день, готов взяться за работу
Олег Болгов
Специализация: Программирование и IT
  • 1 000 руб1 день
Ваш код работает правильно, но его можно улучшить.
В Python сравнение строк по умолчанию чувствительно к регистру. Это означает, что "hemingway" не совпадает с "Hemingway".
Чтобы исправить это, вы можете привести обе строки к нижнему или верхнему регистру перед сравнением. Ваш код уже делает это для keyword, но вам также нужно сделать это для text:

def containsAllKeywords(text, keywords):
text = text.lower()
for keyword in keywords:
if keyword.lower() not in text:
return False
return True

Подробнее могу рассказать когда свяжетесь со мной!
Андрей Приходько

Разработка и графический дизайн

Специализация: Программирование и IT
  • 1 000 руб5 дней
Готов сделать ваш заказ
Сергей Катернюк
Специализация: Программирование и IT
  • 1 000 руб1 день
Я проанализировал ваш код и готов улучшить и оптимизировать его для большей производительности и меньшей потери.

Напишите мне в телеграм, я быстрее отвечу @xsellence
Доброй ночи! Я уже подправил Ваш скрипт. Буду рад Вам его предоставить)
Пишите в телеграм @pvl_1307
Тимур Гиззатуллин
Специализация: Веб-разработка
  • 1 000 руб2 дня
Программа работает корректно если ключевые слова записаны в список
Александр

Нет ничего не возможного, нужно просто немного подумать!

Специализация: Программирование и IT
  • 1 000 руб5 дней
Привет, мой телеграмм https://t.me/alexander_thin
Alexandr Alexandrov
Специализация: Веб-разработка
  • 1 000 руб5 дней
Здравствуйте! пишите, реализую!
Walker Stone

быстро, дешево, хорошо

Специализация: Программирование и IT
  • 1 000 руб5 дней
Здравствуйте, могу взяться за эту работу, есть опыт работы на Python
Ваш код работает неправильно, потому что он проверяет, содержит ли текст каждое ключевое слово индивидуально, а не все ключевые слова вместе. Кроме того, он не учитывает, что ключевые слова могут быть перечислены в виде строки с запятыми.

Вот исправленная версия вашего кода, которая должна работать так, как вы хотите:


def contains_all_keywords(text, keywords):
keywords = set(keyword.strip().lower() for keyword in keywords.split(','))
return all(keyword in text.lower() for keyword in keywords)
Этот код преобразует строку ключевых слов в множество, чтобы избежать дублирования, и проверяет, содержит ли текст все ключевые слова, используя функцию all().

Если вы хотите, чтобы ключевые слова точно соответствовали словам в тексте (т.е. чтобы они не были частью других слов), вы можете использовать следующий код:


def contains_all_keywords(text, keywords):
keywords = set(keyword.strip().lower() for keyword in keywords.split(','))
return all(keyword in text.lower().split() for keyword in keywords)
Этот код разбивает текст на слова, используя пробелы в качестве разделителя, и проверяет, содержит ли он все ключевые слова.

Надеюсь, это поможет!

P.S. Я бы также рекомендовал использовать более описательные имена переменных, чтобы ваш код был более читабельным и понятным. Например, вместо text и keywords вы можете использовать input_text и input_keywords.
Artem Agepas @tg: Marpexiz

Быстро, качественно, недорого

Специализация: Программирование и IT
  • 1 000 руб1 день
Здравствуйте! Имею большой опыт в написании скриптов на python. На python я могу: создавать телеграмм ботов, парсить сайты, создавать приложения и многое другое! Свяжитесь со мной, средства связи со мной будут указаны внизу. Цену также обсудим, так как за такую задачу думаю она будет большая
Добрый день!

Если ещё актуально, могу прислать доработанный код.
Но при условии, что слова в строке keywords всегда будут разделены запятой.
добавьте в split запятую и пробел. и заработает.

def containsAllKeywords(text, keywords):
for keyword in keywords.split(', '):
if keyword.lower() in text.lower():
continue
else:
return False
return True

text="ernest hemingway sun also rises"
kw = "hemingway, ernest"

print(containsAllKeywords(text, kw))
Здравствуйте. Могу помочь Вам с исправлением вашего кода и за небольшую плату сделать его более универсальным. (Код уже написан)
21:14 27.03.24
Код уже написан)
Здравствуйте! Мне бы хотелось попробовать решить данную проблему.
Работаю с Python не так долго, но мне кажется, что я возможно знаю в чём может заключаться проблема. Я бы хотел, чтобы вы дали мне возможность испытать себя.
Можете отказаться, ведь не факт, что проблему я всё таки смогу решить.

Оставлять заявки могут только авторизованные пользователи.