Нужно зделать код. Винни-Пух попросил вас посмотреть, есть ли в его стихах ритм. Поскольку разобраться в его кричалках не настолько просто, насколько легко он их придумывает, вам стоит написать программу.

Винни-Пух считает, что ритм есть, если число слогов (т.е. число гласных букв) в каждой фразе стихотворения одинаковое. Фраза может состоять из одного слова, если во фразе несколько слов, то они разделяются дефисами. Фразы отделяются друг от друга пробелами.

Стихотворение Винни-Пух вбивает в программу с клавиатуры.
В ответе напишите «Парам пам-пам», если с ритмом всё в порядке и «Пам парам», если с ритмом всё не в порядке.

При решении используйте списочные выражения, либо функции высшего порядка в сочетании с лямбда-функциями.​

nikitakyznecov703 nikitakyznecov703    1   26.04.2021 07:59    263

Ответы
perminovdima20 perminovdima20  12.01.2024 10:35
Хорошо, напишем программу, которая будет проверять, есть ли ритм в стихотворении Винни-Пуха.

Сначала нам нужно получить стихотворение от пользователя. Мы можем считать его с клавиатуры, используя функцию input():

```python
pooh_poem = input("Введите стихотворение Винни-Пуха: ")
```

Затем разделим стихотворение на отдельные фразы, используя метод split() с пробелом в качестве разделителя:

```python
phrases = pooh_poem.split(" ")
```

Теперь у нас есть список фраз, давайте посчитаем количество слогов (гласных букв) в каждой фразе. Мы можем использовать списочное выражение и функцию lambda для этого:

```python
syllables_count = [sum(map(lambda x: x in 'AEIOUYaeiouy', phrase)) for phrase in phrases]
```

В списочном выражении мы применяем лямбда-функцию к каждой фразе. Лямбда-функция проверяет, является ли символ гласной буквой, и возвращает True или False. Мы используем функцию map(), чтобы применить лямбда-функцию ко всем символам в каждой фразе, и затем суммируем результаты с помощью функции sum().

Теперь у нас есть список чисел, представляющих количество слогов в каждой фразе. Проверим, все ли числа в списке одинаковые:

```python
if len(set(syllables_count)) == 1:
print("Парам пам-пам")
else:
print("Пам парам")
```

Мы используем функцию set(), чтобы превратить список в множество, чтобы убедиться, что все элементы уникальны. Если длина множества равна 1, значит, все числа в списке равны, и мы выводим "Парам пам-пам". В противном случае, выводим "Пам парам".

Вот полный код программы:

```python
pooh_poem = input("Введите стихотворение Винни-Пуха: ")
phrases = pooh_poem.split(" ")
syllables_count = [sum(map(lambda x: x in 'AEIOUYaeiouy', phrase)) for phrase in phrases]

if len(set(syllables_count)) == 1:
print("Парам пам-пам")
else:
print("Пам парам")
```

Этот код позволит Винни-Пуху проверить, есть ли ритм в его стихотворении. Надеюсь, ответ был понятен! Если у вас есть еще вопросы, не стесняйтесь задавать.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика

Популярные вопросы