Adamos, проклинаю касперского, который стоит у нас по определенным требованиям на рабочих линукс серверах и периодически произвольно убивает рабочие процессы. Ощущается это примерно как chaos monkey от Netflix.
kefirich, мне не важно когда происходит ошибка, я вам ее уже описал. Если вы не поняли, перечитайте мои сообщения повторно. Если все равно не поняли, разберитесь с базовыми типами языка.
Reaper_sds конкретизируйте вопрос в чем у вас проблема. Вы не понимаете порядок выполнения операций в вашем коде или речь о каких-то иных сообщениях бота?
Aragorn, а какая разница что я думаю? Автора вопроса и первый ответ устроил, а меня в принципе никогда не устраивает готовый код, вместо алгоритма, особенно подобного качества. Если человек не утруждается напрячься и самостоятельно его реализовать, ему путь на фриланс.
Я нигде не видел конкретного определения залго, но по моему мнению это буква с более чем одним диакритическим знаком. Следовательно имхо алгоритм следующий: количество букв, после которых идёт хотя бы 2 диакритических знака (категория юникода Mn) делить на количество всех букв (категории юникода L*). По хорошему это реализуется за один проход по строке, но этим можно поступиться ради лучшей читаемости. Использование регулярок в подобной тривиальной задаче как пушка по воробьям.
Aragorn, ну и третья ошибка - нужно считать именно буквы, а не длину строки. Буква с 10 диакритическими знаками это 1 залго, а не 1 хороший символ и 10 залго
Aragorn, диакритические знаки относятся только к одной конкретной категории. Ваша проверка будет выдавать ложные true ещё для двух категорий символов, которые попадают из-за startswith.
Что за категории изучайте сами, я не сторонник рыбы вместо удочки.