Найти в Дзене

import re

from collections import Counter

# Список скороговорок
tongue_twisters = [
   "На дворе трава, на траве дрова: не руби дрова на траве двора.",
   "Шла Саша по шоссе и сосала сушку.",
   "Карл у Клары украл кораллы, а Клара у Карла украла кларнет.",
   "От топота копыт пыль по полю летит.",
   "Ехал Грека через реку, видит Грека — в реке рак. Сунул Грека руку в реку, рак за руку Греку цап!",
   "Кукушка кукушонку купила капюшон. Как в капюшоне он смешон.",
   "В недрах тундры выдры в гетрах тырят в вёдра ядра кедров.",
   "Корабли лавировали, лавировали, да не вылавировали.",
   "Расскажите про покупки! — Про какие про покупки? — Про покупки, про покупки, про покупочки свои.",
   "Бык тупогуб, тупогубенький бычок, у быка бела губа была тупа."
]

results = []

for s in tongue_twisters:
   # Оставляем только буквы, приводим к нижнему регистру
   letters = re.findall(r'[а-яё]', s.lower())
   total_letters = len(letters)
   counter = Counter(letters)
   # Сортируем по убыванию количества, затем по алфавиту для стабильности
   top3 = sorted(counter.items(), key=lambda x: (-x[1], x[0]))[:3]
   results.append({
   'text': s,
   'total': total_letters,
   'top3': top3
   })

for r in results:
   print(f"«{r['text']}»")
   print(f"Общее число букв: {r['total']}")
   top_str = ', '.join([f"{ch} — {cnt}" for ch, cnt in r['top3']])
   print(f"Три самые частые буквы: {top_str}\n")

Подсчёт букв в скороговорках:
1.   «На дворе трава, на траве дрова: не руби дрова на траве двора.»
o   Общее число букв: 47.
o   Три самые частые буквы: а — 10, р — 8, в — 7.

2.   «Шла Саша по шоссе и сосала сушку.»
o   Общее число букв: 26.
o   Три самые частые буквы: с — 6, а — 5, ш — 4.
3.   «Карл у Клары украл кораллы, а Клара у Карла украла кларнет.»
o   Общее число букв: 47.
o   Три самые частые буквы: а — 12, л — 9, к — 8.

4.   «От топота копыт пыль по полю летит.»
o   Общее число букв: 28.
o   Три самые частые буквы: о — 6, т — 6, п — 5.

5.   «Ехал Грека через реку, видит Грека — в реке рак. Сунул Грека руку в реку, рак за руку Греку цап!»
o   Общее число букв: 72.
o   Три самые частые буквы: р — 12, е — 11, к — 11.

6.   «Кукушка кукушонку купила капюшон. Как в капюшоне он смешон.»
o   Общее число букв: 49.
o   Три самые частые буквы: к — 11, у — 6, а — 5.

7.   «В недрах тундры выдры в гетрах тырят в вёдра ядра кедров.»
o   Общее число букв: 46.
o   Три самые частые буквы: р — 8, в — 6, д — 6.

8.   «Корабли лавировали, лавировали, да не вылавировали.»
o   Общее число букв: 43.
o   Три самые частые буквы: а — 8, в — 7, и — 7.

9.   «Расскажите про покупки! — Про какие про покупки? — Про покупки, про покупки, про покупочки свои.»
o   Общее число букв: 74.
o   Три самые частые буквы: п — 16, к — 13, о — 13.

10. «Бык тупогуб, тупогубенький бычок, у быка бела губа была тупа.»
o   Общее число букв: 49.
o   Три самые частые буквы: б — 8, у — 7, а — 5.
2 минуты