Поиск слов в строке
Напишите функцию print_long_words(text), которая будет искать в переданной строке слова с четырьмя и более слогами (гласными буквами). Строка передается параметром функции. Словом следует считать набор букв, ограниченный любыми символами, не являющимися буквами (либо началом/концом строки).
Найденные слова должны быть выведены на экран в порядке, в котором они встретились. Каждое слово должно идти на своей строке и печататься маленькими буквами.
В русском языке гласными являются буквы: а, о, э, и, у, ы, е, ё, ю, я. В английском: a, e, i, o, u, y.
Как и в прочих заданиях этого урока, в вашем решении функция должна быть определена, но не должна вызываться.
Пример
Ввод
print_long_words(‘Как и в прочих заданиях этого урока, в вашем решении функция должна быть определена, но не должна вызываться.’)
Вывод
заданиях
решении
определена
вызываться
Лучшие ответы ( 1 )
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
Регулярное выражение на поиск английских слов в строке
Предложите пожалуйста регулярное выражение для поиска английских слов с максимально возможными.

Поиск слов в строке
Пользователь вводит с клавиатуры строку и слово для поиска. Посчитайте сколько раз в строке.
Поиск слов по маске в строке, их удаление, сортировка оставшихся слов
Доброго времени суток. Помогите, пожалуйста, реализовать задачу. нужно из текстового файла считать.
Поиск слов в строке
Вводим слова и строку через клавиатуру. Вообщем , помогите написать алгоритм нахождения слов в.
Поиск слов в строке
Хочу сделать что-то типо антиспама, проверять строку на наличие в ней определенных слов, слов будет.
Регистрация: 23.10.2018
Сообщений: 51
Записей в блоге: 3

Сообщение было отмечено JduNona как решение
Решение
1 2 3 4 5 6 7 8 9 10 11 12 13
def print_long_words(text): text = text.lower() for i in text: if i not in ' абвгдеёжзийклмнопрстуфхцчшщъыьэюяabcdefghijklmnopqrstuvwxyz': text = text.replace(i, ' ') a = text.split() for j in a: b = 0 for k in j: b += 1 if k in 'аоэиуыеёюяaeiouy' else 0 if b >= 4: print(j) return
Как найти конкретное слово в строке и удалить его на python?
Друзья, подскажите пожалуйста, как на питоне искать по строке конкретное слово и удалять его.
- Вопрос задан более трёх лет назад
- 8044 просмотра
Комментировать
Решения вопроса 1

Ответ написан более трёх лет назад
Нравится 1 1 комментарий
bbaggins @bbaggins Автор вопроса
Спасибо помогло
Ответы на вопрос 2
string_var.replace(word_var, »)
Ответ написан более трёх лет назад
Нравится 1 2 комментария
string_var.index(word_var) — Индекс вхождения ( -1 если не найдено )
bbaggins @bbaggins Автор вопроса

Test automation engineer
import string str1 = "String replace test" str1 = string.replace(str1,"epl", "") print str1
String race test
Ответ написан более трёх лет назад
Комментировать
Нравится Комментировать
Ваш ответ на вопрос
Войдите, чтобы написать ответ

- Python
Палиндромы leetcode, в VS все правильно, на сайте другой ответ, что делать?
- 1 подписчик
- 3 часа назад
- 58 просмотров

- HTML
- +3 ещё
Почему не работает переход на страницу?
- 1 подписчик
- 4 часа назад
- 87 просмотров

- Python
- +1 ещё
Реально ли вывести виджет с какой-либо инфой поверх PySide6.QtMultimediaWidgets.QVideoWidget?
- 1 подписчик
- 4 часа назад
- 13 просмотров

- Python
Почему не проходит код для решения задачи на leetcode?
- 1 подписчик
- 5 часов назад
- 74 просмотра

- Python
Почему текстовый редактор и консоль по-разному присваивают ссылки на переменные Python?
- 1 подписчик
- 5 часов назад
- 32 просмотра

- Python
- +1 ещё
Почему callback_query_handler не видит call.data?
- 1 подписчик
- 10 часов назад
- 41 просмотр

- Python
При выводе users_cards выводится [, . ] как это исправить?
- 1 подписчик
- 11 часов назад
- 34 просмотра

- Python
В приложении django 4.2 + django rest framework: Model.__str__ нужен только для админки?
- 1 подписчик
- 13 часов назад
- 47 просмотров

- Python
- +1 ещё
Не правильная проверка ячейки таблицы через цикл, почему не записывается переменная?
- 1 подписчик
- 14 часов назад
- 38 просмотров

- Python
Почему падает бот?
- 1 подписчик
- вчера
- 85 просмотров
от 120 000 ₽
от 120 000 до 240 000 ₽
ATI.SU • Санкт-Петербург
от 170 000 до 260 000 ₽
20 нояб. 2023, в 00:58
5000 руб./за проект
20 нояб. 2023, в 00:43
20000 руб./за проект
20 нояб. 2023, в 00:35
3500 руб./за проект
Минуточку внимания
Присоединяйтесь к сообществу, чтобы узнавать новое и делиться знаниями
- Не могу настроить почтовый сервер(Postfix/Dovecot с интеграцией в MS Active Directory) на alt linux. Может у кого-то есть решение?
- 3 подписчика
- 1 ответ
- 3 подписчика
- 2 ответа
- 2 подписчика
- 1 ответ
- 2 подписчика
- 1 ответ
- 3 подписчика
- 2 ответа
- 2 подписчика
- 2 ответа
- 2 подписчика
- 1 ответ
- 2 подписчика
- 3 ответа
- 2 подписчика
- 1 ответ
- 2 подписчика
- 1 ответ
Поиск слова в строке Python
Как написать условие которое будет искать слово в строке? Пользователь вводит какую-то строку, например:
меня звать Олег, мне 35 лет
Тогда Python проверяет, если в вводимой строке есть слово «звать» — тогда вывести print(«Привет») . Я делаю так, но не работает так как нужно:
if mess == u'звать': print("Привет")Если я введу «меня звать. » то ничего не произойдет Если введу просто слово «звать» — то напишет «Привет»
Отслеживать
13.7k 12 12 золотых знаков 43 43 серебряных знака 75 75 бронзовых знаков
задан 17 янв 2017 в 9:33
181 1 1 золотой знак 2 2 серебряных знака 12 12 бронзовых знаков
Про оператор in пишут в любом учебнике по Python
17 янв 2017 в 9:40@andreymal: in не различает слово от подстроки: «призвать духа» содержит «звать» подстроку, но не содержит слова «звать». in сам по себе не найдёт «звать» в «Звать меня . » (регистр). Не говоря о «зовут меня . » (форма слов)
17 янв 2017 в 9:54
@jfs это всё должен был написать автор в вопросе в виде «попробовал так-то, не получается». К тому же ни про регистр, ни про форму слов в вопросе не спрашивается
17 янв 2017 в 11:06
А ещё in различает слова вместо подстрок в сочетании с spilt 🙂
17 янв 2017 в 11:07@andreymal: согласен, что вопрос следует дополнить. Двумя руками за был бы, если бы ваш первый комментарий попросил бы автора уточнить: нужна подстрока или отдельное слово? важен ли регистр букв (большие маленькие)? итд
17 янв 2017 в 11:10
3 ответа 3
Сортировка: Сброс на вариант по умолчанию
Используйте регулярные выражения.
import re; if re.search(r'\bзвать\b', 'меня звать Олег, мне 35 лет'): print("Привет")Отслеживать
ответ дан 17 янв 2017 в 10:24
1,485 12 12 серебряных знаков 16 16 бронзовых знаков
А если входная строка «Олегом меня звать, мне 35 лет»?
14 мар 2019 в 11:50
@МихаилМуругов и для этой строки тоже отлично работает
15 мар 2019 в 23:54
@andreymal Вы правы. Мои знания по регуляркам немного отстали.
16 мар 2019 в 16:49Он сравнивает целую строку с условием «звать» соответственно «звать» <> «меня звать» Я не чего не смыслю в питоне, я больше по sql. Но немного загуглив нашел, у вас должно быть так. find метод поиска в строке ,возвращает индекс первого вхождения подстроки в строку, в случае отсутствия подстроки ,возвращает -1. Имеет вид str1.find(str2,[start],[end])
if mess.find('звать') != -1 : print("Привет")В sql server бы это выглядело так:
declare @a varchar(100) = 'меня звать' if @a like '%звать%' print ("Привет")Методы поиска подстроки в строке в Python
Очень часто при работе со строками в Python возникает необходимость проверить, содержит ли данная строка определенную подстроку. Например, есть некоторый текст, и необходимо узнать, встречается ли в нем слово «привет».
text = "Привет, мир! Это моя первая программа на Python."
Изначально может показаться, что для этого в Python должны быть методы типа string.contains или string.indexof , как в некоторых других языках программирования. Однако, в Python поиск подстроки в строке реализуется несколько иначе.
Оператор in
Самый простой и удобный способ проверить, содержит ли строка определенную подстроку, — использовать оператор in .
if "привет" in text: print("Слово 'привет' найдено в тексте")Если подстрока присутствует в строке, выражение вернет True , иначе False .
Метод find
Если же необходимо узнать не только факт наличия подстроки, но и ее позицию в строке, можно воспользоваться методом find .
position = text.find("привет") if position != -1: print(f"Слово 'привет' найдено в тексте на позиции ")Метод find возвращает индекс первого вхождения подстроки в строку. Если подстрока не найдена, метод возвращает -1 .
Метод index
Метод index работает похожим образом, что и find , но с одним отличием: если подстрока не найдена, index выбрасывает исключение ValueError .
try: position = text.index("привет") print(f"Слово 'привет' найдено в тексте на позиции ") except ValueError: print("Слово 'привет' не найдено в тексте")Таким образом, в Python действительно есть возможность проверить наличие подстроки в строке, а также узнать ее позицию. Для этого используются оператор in и методы find и index .
