Задать вопрос
@DedInside0
Учу Python самостоятельно.

Как разделить полученные слова в тексте?

Написать функцию, которая принимает текст и если находит в нём слово длинной равной 5 или более - разворачивает его, пример: "Hey fellow warriors" ) => "Hey wollef sroirraw".

Мой код:

def spin_words(sentence):
    sentence = sentence.replace(' ', ',').split(',')
    text = ''
    for i in sentence:
        if len(i) >= 5:
            i = i[::-1]
        text += i
    return text

print(spin_words('Hey fellow warriors'))


Однако я столкнулся с проблемой, моя функция объеденяет слова, т.е, должно выводить: 'Hey wollef sroirraw', а выводит: 'Heywollefsroirraw'. Помогите разделить слова в тексте. Я новичок, поэтому не судите строго
  • Вопрос задан
  • 77 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 2
@Kvason
Веб-разработчик
def spin_words(sentence):
    sentence = sentence.replace(' ', ',').split(',')
    text = ''
    for i in sentence:
        if len(i) >= 5:
            i = i[::-1]
        text += i + ' '
    return text

print(spin_words('Hey fellow warriors'))
Ответ написан
MinTnt
@MinTnt
import re

def spin_words(sentence):
	return re.sub(r"\w{5,}", lambda x: x.group()[::-1], sentence)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы