PYTHON
Вам дана фраза робота как несколько слов, разделенных пробелами. Робот не знает ничего о знаках пунктуации и пишет только буквы в нижнем регистре. Необходимо перевести эту фразу в понятную людям. Робот меняет слова по следующим правилам: - после каждой согласной буквы он добавляет случайную гласную букву (м -> мя или му); - после каждой гласной буквы она добавляет две таких же буквы (а -> aaa);
помогите пожалуйста, желательно с объяснением
Ответы
Відповідь:
import random
def robot_to_human(phrase):
vowels = "aeiouy" # Голосовые буквы
result = "" # Результат
for letter in phrase: # Проходим по каждой букве фразы
if letter.isalpha(): # Если буква – буква
if letter in vowels: # Если буква – гласная
result += letter*3 # Добавляем букву 3 раза
else: # Если буква – согласная
result += letter + random.choice(vowels) + random.choice(vowels) + random.choice(vowels) # Добавляем букву и 3 гласные буквы
else:
result += letter # Если буква – не буква, добавляем ее без изменений
return result
# Пример использования
phrase = "робота как несколько слов"
human_readable = robot_to_human(phrase)
print(human_readable)
В функции robot_to_human() мы проходим по каждой букве входной фразы и изменяем ее в соответствии с правилами. Если буква гласна, мы добавляем ее трижды, а если она согласна, мы добавляем ее один раз и три гласных буквы с помощью функции random.choice(). Кроме того, мы проверяем, является ли буква с помощью метода isalpha() и добавляем ее к результату без изменений, если это не буква.