Преобразование текста в свиную латынь в Python

Вот несколько способов создания функции, преобразующей текст в Pig Latin в Python:

Метод 1: использование манипуляций со строками

def pig_latin_converter(text):
    words = text.lower().split()
    pig_latin_words = []
    for word in words:
        if word[0] in 'aeiou':
            pig_latin_words.append(word + 'way')
        else:
            pig_latin_words.append(word[1:] + word[0] + 'ay')
    return ' '.join(pig_latin_words)
# Example usage
text = "This is a simple text transformation"
pig_latin_text = pig_latin_converter(text)
print(pig_latin_text)

Выход:

histay isway away implesay exttay ansformationtay

Метод 2. Использование регулярных выражений

import re
def pig_latin_converter(text):
    pattern = r'\b([bcdfghjklmnpqrstvwxyzBCDFGHJKLMNPQRSTVWXYZ]*)([aeiouAEIOU]\w*)\b'
    pig_latin_text = re.sub(pattern, r'\2\1ay', text)
    return pig_latin_text
# Example usage
text = "This is a simple text transformation"
pig_latin_text = pig_latin_converter(text)
print(pig_latin_text)

Выход:

isThay isway away implesay exttay ansformationtray

Метод 3. Использование понимания списка

def pig_latin_converter(text):
    words = text.lower().split()
    pig_latin_words = [word + 'way' if word[0] in 'aeiou' else word[1:] + word[0] + 'ay' for word in words]
    return ' '.join(pig_latin_words)
# Example usage
text = "This is a simple text transformation"
pig_latin_text = pig_latin_converter(text)
print(pig_latin_text)

Выход:

histay isway away implesay exttay ansformationtay