PYTHON
Вам дана фраза робота как несколько слов, разделенных пробелами. Робот не знает ничего о знаках пунктуации и пишет только буквы в нижнем регистре. Необходимо перевести эту фразу в понятную людям. Робот меняет слова по следующим правилам: - после каждой согласной буквы он добавляет случайную гласную букву (м -> мя или му); - после каждой гласной буквы она добавляет две таких же буквы (а -> aaa);
помогите пожалуйста, желательно с объяснением ​

Ответы

Ответ дал: archie242
0

Відповідь:

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() и добавляем ее к результату без изменений, если это не буква.

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