25092
Pythonist.ru - помощь в подготовке к собеседованию на позицию Python Developer. Реклама: @anothertechrock РКН: https://rknn.link/car
Tips & Tricks. Встроенный HTTP-сервер Python
А вы знали, что у Python есть HTTP-сервер, встроенный в стандартную библиотеку? Он очень удобен для предварительного просмотра сайтов.
#tipsandtricks
Топ. Вебскрейпинг для сравнения цен на сайтах
Пишем код на Python для сравнения цен в онлайн-магазинах (с использованием библиотеки Selenium и веб-драйвера Chrome).
#топ
Тест. Работа с циклами
Циклы в Python универсальны. Они могут использоваться для записи переменных, перебора списков и строк. Но разобраться, что происходит в цикле, не всегда просто.
Проверьте, насколько хорошо вы знаете эту тему: пройдите тест из 10 вопросов!
#тест
Tips & Tricks. Симуляция предложений switch/case
Поскольку в Python функции являются объектами первого класса, они могут использоваться для симуляции предложений switch/case. Пример - в статье.
#tipsandtricks #функции
AIOps — обнаружение аномалий в логах и метриках
Присоединяйтесь к нашему открытому уроку для обсуждения AIOps.
Ждем вас на открытом вебинаре 14 ноября в 20:00 мск.
🚀На вебинаре рассмотрим open-source решения, которые помогут обнаружить аномальные отклонения в метриках и логах как для локальных кластеров, так и для облачных окружений. На практических примерах будет проведена настройка AIOps-решений Loglizer и Keep. Эти инструменты помогут предсказать проблемы до их возникновения и выявить аномальную активность в работе сервисов.
На вебинаре вы узнаете:
1. Как использовать AIOps для автоматизированного обнаружения аномалий в логах и метриках.
2. Настройку Loglizer для выявления отклонений в активности сервисов.
3. Практические шаги по оптимальной настройке Keep в Kubernetes-окружении для мониторинга и обнаружения проблем до их возникновения.
4. Настройку мониторинга с помощью Shinken для контроля критических метрик и логов.
5. Применение AIOps в публичных облаках для повышения производительности и предотвращения сбоев.
🎯 Вебинар будет полезен DevOps-инженерам, разработчикам и архитекторам и системным администраторам.
🛡Спикер Дмитрий Золотов — Ведущий DevOps инженер.
Встречаемся в преддверии старта курса «DevOps практики и инструменты». Все участники вебинара получат специальную цену на обучение! Регистрируйтесь прямо сейчас, чтобы не пропустить мероприятие
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Функция len() в Pyhton
Функция len() в Python принимает объект в качестве аргумента и возвращает длину этого объекта. Например, функция len() может возвращать количество элементов в списке.
#функции
Тест. lambda-выражения
С помощью этого теста вы сможете проверить, насколько хорошо вы знаете лямбда-выражения. Это очень важная тема, потому что порой их применение ощутимо упрощает процесс разработки.
#тест
Ответ к задаче "Бросаем яйца"
При оптимизированном решении в самом худшем случае потребуется 14 бросков. При бинарном поиске - 50.
#логическаязадача
Tips & Tricks. Используем цикл for для вычисления вероятностей
Из этой статьи вы узнаете, почему циклы незаменимы в построении статистических моделей.
#tipsandtricks
Топ. Массив в Python
Из этой статьи вы узнаете, как определять массивы и какие методы обычно используются для выполнения различных операций над ними.
#топ
Топ. Делаем запросы к API с помощью Python
Разбираем получение данных с сайтов с использованием API.
#топ
Нет времени объяснять, регистрируйся на МТС True Tech Champ 🚀
Осталось несколько дней до шоу финала ИТ-чемпионата.
Дата: 8 ноября
Место: МТС Live Холл
Формат: Офлайн + Онлайн
Участников ждут:
🤖 Шоу с гонкой роботов в интерактивных лабиринтах
🕹 20+ активностей для кодеров и фанатов технологий
🧠 Выступления спикеров, воркшопы, плохие прогерские шутки
Тебе точно понравится, если ты:
— Занимаешься разработкой
— Интересуешься технологиями
— Планируешь построить карьеру в ИТ
До конца регистрации несколько дней — успей присоединиться: https://truetechchamp.ru/conf
Ответ к задаче "Цифры на гранях кубика"
Кубик 1: 0 1 2 3 5 7
Кубик 2: 0 1 2 4 6 8
Но у нас также получилось с таким вариантом:
Кубик 1: 0 1 2 3 4 5
Кубик 2: 0 1 2 6 7 8
#логическаязадача
Задача на логику. Цифры на гранях кубика
Есть два обычных игральных 6-гранных кубика. Разместите на каждой грани любые цифры от 0 до 9 таким образом, чтобы при помощи двух кубиков можно было сложить все числа месяца.
Например, чтобы показать 1-е число, берем 0 на одном кубике и 1 на другом. Чтобы показать 15-е число, берем 1 на одном кубике и 5 на другом.
Принимаем, что в месяце 31 день.
Пишите свои варианты в комментариях, а правильный ответ мы опубликуем завтра.
#логическаязадача
Задача по программированию. Василий постоянно забывает пароли. Чтобы победить свою забывчивость, он решил, что каждый пароль должен состоять из чётного числа символов, а его первая половина должна быть анаграммно меньше второй. Продумайте алгоритм, проверяющий, удовлетворяет ли придуманный пароль заданному условию.
Подробное описание задачи и разбор решения ищите в интерактивном тренажёре VK Education на All Cups — здесь более 150 задач по алгоритмам и структурам данных, бэкенд- и фронтенд-разработке.
#coding #beginner
Реклама.
Задача с кодом. Половина от половины
Напишите рекурсивную функцию, которая будет принимать два целых числа, a и b, и возвращать, сколько раз можно разделить a на 2, пока получающаяся половина будет оставаться больше b.
Значение аргумента a всегда будет как минимум вдвое больше значения b.
Примеры:
halve_count(4666, 544) ➞ 3
# (4666 -> 2333 -> 1166.5 -> 583.25)
halve_count(624, 8) ➞ 6
# (624 -> 312 -> 156 -> 78 -> 39 -> 19.5 -> 9.75)
halve_count(1000, 3) ➞ 8
# (1000 -> 500 -> 250 -> 125 -> 62.5 -> 31.25 -> 15.625 -> 7.8125 -> 3.90625)
2000г - С сила
2023г - Python сила
Делаем выводы, господа.
Python сила, C могила 🙂
Задача на логику. Выход на улицу
Вы пришли на собеседование в очень странную компанию «TwoWayLand», где, как вам известно, половина сотрудников всегда говорят правду, а половина — всегда лгут. Когда пришла пора уходить, вы подошли к двум выходам из офиса. На вид они совершенно одинаковые, но один ведет на улицу, а другой — во внутренний двор. Возле каждого стоит по сотруднику компании (вероятно, кого-то ждут). Вам не хотелось бы ошибиться дверью у них на глазах, поэтому вы решили узнать у одного из них, ведет ли «его» выход на улицу.
Как сформулировать вопрос с учетом того, что вы не знаете, соврет собеседник или скажет правду?
Решение тут. Просьба потратить хотя бы 10 минут перед тем как читать решение.
#логическаязадача
Строки. Символы новой строки в Python
В этом руководстве мы разберем все, что нужно знать о символах перехода на новую строку (/n) в Python. В частности, вы узнаете, как создавать и контролировать переносы строк, очищать текстовые данные, удаляя символы новой строки, и работать с многострочными строками.
#строки
Задача с кодом. Валидаторы смещения и умножения
Создайте два валидатора. Первая функция-валидатор (is_shifted) должна принимать два списка чисел одинаковой длины и проверять, образован ли второй список путем смещения каждого элемента первого списка на число-константу.
Вторая функция-валидатор (is_multiplied) должна работать аналогично, только проверять, образован ли второй список путем умножения каждого элемента первого списка на константу.
Примеры:
is_shifted([1, 2, 3], [2, 3, 4]) ➞ True
# Каждый элемент смещен на +1
is_shifted([1, 2, 3], [-9, -8, -7]) ➞ True
# Каждый элемент смещен на -10
is_multiplied([1, 2, 3], [10, 20, 30]) ➞ True
# Каждый элемент умножен на 10
is_multiplied([1, 2, 3], [-0.5, -1, -1.5]) ➞ True
# Каждый элемент умножен на -1/2
is_multiplied([1, 2, 3], [0, 0, 0]) ➞ True
# Каждый элемент умножен на 0
Типичные гугл запросы каждого 🖼️ Python новичка 🍿
Узнали?
ООП. if __name__ == "__main__" в Python: полное объяснение
Условный блок, начинающийся с if __name__ == "__main__" часто встречается в коде Python. Эта строка может выглядеть загадочно, и многие новички используют ее, не зная, что она делает и стоит ли ее использовать. Программисты, перешедшие на Python с других языков, также могут неправильно понимать эту идиому и использовать ее там, где это не нужно.
Из этой статьи вы узнаете о значении идиомы if__name__ == "__main__" в Python, а также о том, как и когда ее следует использовать.
#ооп
Задача на логику. Бросаем яйца
По какой-то причине у вас возникла странная идея проверить, с какого (максимально высокого) этажа 100-этажного здания можно сбросить яйцо, чтобы оно при этом не разбилось.
При проведении эксперимента вы исходите из следующих допущений:
- яйцо, которое не разбилось при одном бросании, можно бросить снова
- разбитое яйцо выбывает из игры
- результат броска одного яйца можно считать одинаковым для всех яиц (т.е., если одно разбилось, то и другое тоже точно разобьется).
- если яйцо разбилось при броске с одного этажа, значит, при броске со следующего, более высокого этажа оно тоже разобьется
- если яйцо НЕ разбилось при падении с одного этажа, оно не разобьется и при падении с более низкого этажа.
Для проведения экспериментов вы потратились и купили аж 2 яйца.
Какую стратегию вы будете использовать и сколько бросков в наихудшем случае вам придется совершить, чтобы найти искомый этаж?
Пишите свои варианты в комментариях, а правильный ответ мы опубликуем завтра.
#логическаязадача
Задача с кодом. Лишняя функция
Напишите функцию, которая будет принимать строку и возвращать функцию, возвращающую эту строку. Обратите внимание, что ваша функция должна вернуть именно функцию, а не строку.
Примеры:
f1 = redundant("apple")
f1() ➞ "apple"
f2 = redundant("pear")
f2() ➞ "pear"
f3 = redundant("")
f3() ➞ ""
Инструменты сбора логов: Vector, Fluentbit и другие
Присоединяйтесь к нашему открытому уроку для обсуждения Vector, Fluentbit и других.
Ждем вас на открытом вебинаре 6 ноября в 20:00 мск.
🚀На вебинаре рассмотрим популярные инструменты для сбора логов, такие как Vector, Fluentbit и Promtail. Узнаем, в чём их преимущества, как они работают и где лучше применять. Подробно разберём, какой функционал предлагают эти решения для управления логами.
На вебинаре вы узнаете:
1. Преимущества и особенности использования Vector для сбора и обработки логов.
2. Как настроить и использовать Fluentbit для высокопроизводительного сбора данных.
3. Обзор функционала Promtail для работы в стеке Loki.
4. Сравнение производительности и возможностей разных сборщиков логов.
🎯 Вебинар будет полезен DevOps-инженерам, специалистам по мониторингу и системным администраторам.
🛡Спикер Игорь Овсянников — Ведущий DevOps инженер.
Встречаемся в преддверии старта курса «DevOps практики и инструменты». Все участники вебинара получат специальную цену на обучение! Регистрируйтесь прямо сейчас, чтобы не пропустить мероприятие
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Тест на умение объединять и разделять строки в Python
При работе со строками программисту нередко приходится их объединять и делить на части. Проверьте, насколько хорошо вы умеете это делать и разбираетесь ли в конкатенации.
#тест
Просчитался ... но где? 🤔
Читать полностью…
Топ. Генераторы множеств в Python
В программировании на Python мы используем различные структуры данных, такие как списки, кортежи, множества и словари. Часто мы создаем их из уже существующих объектов в наших программах. В этой статье мы изучим генераторы множеств в Python. Они как раз и используются для создания новых множеств из уже существующих объектов.
#топ
Tips & Tricks. Форматирование строк в Python: format() и f-строки
В этой статье:
- форматирование строк в Python с помощью %
- метод str.format(). Тут также разбираем позиционные и именованные аргументы.
- f-строки
- «шаблонные» строки
#tipsandtricks #строки
Рекурсивные функции в Python
Рассмотрели, что собой представляют рекурсивные функции, зачем они нужны и как их писать. Отдельно остановились на вопросе временной и пространственной сложности функций.
#функции