Alliteration Detector
Обнаруживайте и выделяйте группы слов с аллитерацией в вашем тексте.
Об этом инструменте
Детектор аллитерации — это инструмент анализа текста, который выявляет последовательности слов, начинающихся с одной буквы в вашем письме. Аллитерация — это мощный литературный приём, используемый для создания ритма, запоминаемости и звукового обаяния в прозе и поэзии. Создаёте ли вы рекламный текст, пишете стихи, составляете речи или совершенствуете творческий текст, этот инструмент помогает вам выявить естественные паттерны аллитерации и намеренные звуковые повторения в вашей работе.
Просто вставьте или введите ваш текст в инструмент, и он выделит все аллитерационные последовательности, где два или более идущих подряд слова начинаются с одной буквы. Это позволяет легко увидеть, где аллитерация уже присутствует в вашем письме и где вы можете добавить больше для выразительности и текучести. Инструмент сканирует текст слово за словом, группируя совпадающие последовательности так, чтобы вы могли их быстро просмотреть.
Аллитерация работает лучше всего при выборочном и целенаправленном использовании—слишком много может казаться принуждённым или отвлекающим. Этот инструмент идеален для авторов, желающих усилить прозу намеренными звуковыми приёмами, для поэтов, исследующих ритм и кадансу, и для всех, создающих контент, где важны запоминаемость и привлекательность, такие как названия брендов, слоганы и маркетинговые сообщения.
Часто задаваемые вопросы
Реализация кода
import re
def detect_alliteration(text: str, min_words: int = 2) -> list[dict]:
"""Detect alliterative groups in text."""
words = re.findall(r"\b[a-zA-Z]+\b", text)
groups = []
i = 0
while i < len(words):
letter = words[i][0].lower()
group = [words[i]]
j = i + 1
while j < len(words) and words[j][0].lower() == letter:
group.append(words[j])
j += 1
if len(group) >= min_words:
groups.append({"letter": letter.upper(), "words": group})
i = j if j > i + 1 else i + 1
return groups
text = "Peter Piper picked a peck of pickled peppers"
results = detect_alliteration(text)
for g in results:
print(f"{g['letter']}: {' '.join(g['words'])}")Comments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.