Zen of Python
Полный Дзен Пайтона в одном канале Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Сайт: https://tprg.ru/site Регистрация в перечне РКН: https://tprg.ru/xZOL
إظهار المزيد📈 نظرة تحليلية على قناة تيليجرام Zen of Python
تُعد قناة Zen of Python (@zen_of_python) في القطاع اللغوي الروسية لاعباً نشطاً. يضم المجتمع حالياً 18 939 مشتركاً، محتلاً المرتبة 6 785 في فئة التكنولوجيات والتطبيقات والمرتبة 34 730 في منطقة روسيا.
📊 مؤشرات الجمهور والحراك
منذ تأسيسه في невідомо، حقق المشروع نمواً سريعاً وجمع 18 939 مشتركاً.
بحسب آخر البيانات بتاريخ 31 أغسطس, 2026، تحافظ القناة على نشاط مستقر. خلال آخر 30 يوماً تغيّر عدد الأعضاء بمقدار -151، وفي آخر 24 ساعة بمقدار -7، مع بقاء الوصول العام مرتفعاً.
- حالة التحقق: غير موثّقة
- معدل التفاعل (ER): يبلغ متوسط تفاعل الجمهور 10.84%. وخلال أول 24 ساعة من النشر يحصد المحتوى عادةً 6.11% من ردود الفعل نسبةً إلى إجمالي المشتركين.
- وصول المنشورات: يحصل كل منشور على متوسط 2 053 مشاهدة. وخلال اليوم الأول يجمع عادةً 1 157 مشاهدة.
- التفاعلات والاستجابة: يتفاعل الجمهور بانتظام؛ متوسط التفاعلات لكل منشور يبلغ 4.
- الاهتمامات الموضوعية: يركز المحتوى على مواضيع رئيسية مثل github, rust, pip, api, install.
📝 الوصف وسياسة المحتوى
يصف المؤلف القناة بأنها مساحة للتعبير عن الآراء الذاتية:
“Полный Дзен Пайтона в одном канале
Разместить рекламу: @tproger_sales_bot
Правила общения: https://tprg.ru/rules
Другие каналы: @tproger_channels
Сайт: https://tprg.ru/site
Регистрация в перечне РКН: https://tprg.ru/xZOL”
بفضل وتيرة التحديث المرتفعة (أحدث البيانات بتاريخ 01 سبتمبر, 2026) تحافظ القناة على حداثتها ومستوى وصول مرتفع. وتُظهر التحليلات تفاعلاً نشطاً من الجمهور، ما يجعلها نقطة تأثير مهمة ضمن فئة التكنولوجيات والتطبيقات.
VOWELS_LOWERCASE = set('aeoiuаоыуэяёиюе')
def invert_vowels(strng):
reversed_vowels = (i for i in strng[::-1] if i.lower() in VOWELS_LOWERCASE)
return ''.join([i if i.lower() not in VOWELS_LOWERCASE else next(reversed_vowels) for i in strng])
и @HackingSection:
def invert_vowels(s, vowels = "аяоёиыуюеэ"):
vowelsInText = [j for j in s if j in vowels]
return [vowelsInText.pop(-1) if i in vowels else i for i in s]
Отдельный респект Cool and Fun Python за разбор своего решения:
Предполагается, что все буквы в тексте строчные и русские. Иначе требуется доработать строку гласных.
У решения линейная асимптотика. Но если очень хочется, можно повысить быстродействие, превратив vowels в множество строк односимвольников: vowels = {'а', 'я', ...}
И преобразование строки в список и обратно - вынужденная мера. Строка в Python неизменяемая. Впрочем, на сохранение асимптотики O(N) это не влияет.
Кстати, если бы постановщик задачи гарантировал наличие гласных (всё же предлоги "в", "с" тоже считаются словами), можно было бы убрать проверки left < right в двух внутренних циклах.
Отдельная благодарность @lomserman за создание тестирующей функции:
def test(original: str, expected: str):
result = invert_vowels(original)
print(result)
assert result == expected
p.s. Админ подписывается на всех ребятушек, что решают задачи. Если «провалиться» в профили решивших, там полно питонической годноты.
#задача
@zen_of_pythons и t . Напишите функцию проверки: является ли s подстрокой t.
Подстрока формируется из исходной строки путём удаления некоторых символов (может быть, ни одного) без нарушения положения остальных. "ace" является подстрокой "abcde", а "aec" — нет.
Ограничения:
0 <= len(s) <= 100
0 <= len(t) <= 10^4
s и t состоят только из строчных английских букв.
В качестве теста:
s = "abc"
t = "ahbgdc"
>>> is_substring(s, t)
... true
#задача
@zen_of_python| Библиотека | Сжатие, разы |
|------------|--------------|
| zlib | 27.84 |
| lz4 | 18.23 |
| brotli | 64.78 |
| zstandard | 43.42 |
Остальные «пьедесталы» плюс данные о дизайне экспериментов в треде. Сжимали .json.
#факты
@zen_of_pythonx = lambda s: (s**(1/2)).is_integer()
@nxiqns:
def check_square_perfection(num):
return (num**0.5).is_integer()
и @WhonixMan:
def check_square_perfection(num):
return int(num**0.5) == num**0.5
Отдельно выделим решение @maslyaev, учитывающее случай очень больших чисел:
def check_square_perfection(area: int | float) -> bool:
if area == 0 or area == 1: # На 0 и 1 ломается вавилонский метод
return True
if area < 4: # Отрицательная area даст False
return False
if area % 1 != 0: # Нецелая area даст False
return False
int_area = int(area)
sqrt = int_area // 2
while True:
next_sqrt = (sqrt + int_area//sqrt)//2
if next_sqrt == sqrt:
break
sqrt = next_sqrt
return sqrt * sqrt == int_area
#задача
@zen_of_python>>> s = 'погода'
>>> invert_vowels(s)
... пагодо
#задача
@zen_of_python