⚡️ Алгоритм бинарного поиска
Если вы слышали про теорию алгоритмов, то можете почувствовать разницу между O(log n) (такую стоимость даёт бинарный поиск) и O(n) (а такую — обычный).
Проблема бинарного поиска в том, что все данные должны быть отсортированы. Если у вас есть такой список, то стоит попробовать bisect.
Модуль хранит внутри себя алгоритм бинарного поиска. Сам по себе он бесполезный, но на его основе можно сделать множество классных функций.
Подробнее можете почитать в документации, там также есть парочка неплохих примеров.
#миниурок #bisect
Если вы слышали про теорию алгоритмов, то можете почувствовать разницу между O(log n) (такую стоимость даёт бинарный поиск) и O(n) (а такую — обычный).
Проблема бинарного поиска в том, что все данные должны быть отсортированы. Если у вас есть такой список, то стоит попробовать bisect.
Модуль хранит внутри себя алгоритм бинарного поиска. Сам по себе он бесполезный, но на его основе можно сделать множество классных функций.
Подробнее можете почитать в документации, там также есть парочка неплохих примеров.
#миниурок #bisect
⚡️ Задачка с собеседования | #Easy
Условие:
Вам необходимо сделать функцию, которая принимает список чисел и суммирует значения, которые пропущены в списке, но есть в диапазоне от минимального до максимального числа.
Примеры:
sum_miss([1, 6, 3, 2]) -> 9 # 4 + 5 = 9
sum_miss([1, 2, 3]) -> 0
sum_miss([4, 5, 3, 2, 0]) -> 1
📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇
#Задачка_с_собеседования
Условие:
Вам необходимо сделать функцию, которая принимает список чисел и суммирует значения, которые пропущены в списке, но есть в диапазоне от минимального до максимального числа.
Примеры:
sum_miss([1, 6, 3, 2]) -> 9 # 4 + 5 = 9
sum_miss([1, 2, 3]) -> 0
sum_miss([4, 5, 3, 2, 0]) -> 1
📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇
#Задачка_с_собеседования
2022 уже совсем скоро, а ты еще не купил себе новогодний подарок?🎅🏼🎁
Новый год идеальное время, чтобы побаловать себя классным подарком, а лучший подарок это тот, о котором давно думал, но сомневался.
Онлайн университет профессий Skypro проанализировал статистику hh и выяснил, что Python специалисты являются одной из самых востребованных профессий за 2021 год, при этом их зарплата доходит до 300.000₽ в месяц. Именно поэтому они создали курс “Python разработчик”, пройдя который вы станете уверенным разработчиком и сможете начать зарабатывать заветные 300.000₽.
В течение обучения все студенты выполнят 4 проекта, которые сформируют в свое портфолио.
Кроме того, опытные специалисты Skypro помогут найти работу и подготовят к собеседованию с HR💥
❗По нашей ссылке можно записаться на бесплатную консультацию и получить скидку 10% по промокоду «УЧИСЬ»
https://go.skyeng.ru/Python_Community_ru
Новый год идеальное время, чтобы побаловать себя классным подарком, а лучший подарок это тот, о котором давно думал, но сомневался.
Онлайн университет профессий Skypro проанализировал статистику hh и выяснил, что Python специалисты являются одной из самых востребованных профессий за 2021 год, при этом их зарплата доходит до 300.000₽ в месяц. Именно поэтому они создали курс “Python разработчик”, пройдя который вы станете уверенным разработчиком и сможете начать зарабатывать заветные 300.000₽.
В течение обучения все студенты выполнят 4 проекта, которые сформируют в свое портфолио.
Кроме того, опытные специалисты Skypro помогут найти работу и подготовят к собеседованию с HR💥
❗По нашей ссылке можно записаться на бесплатную консультацию и получить скидку 10% по промокоду «УЧИСЬ»
https://go.skyeng.ru/Python_Community_ru
⚡️ Работаем с IP адресами
Наиболее эффективно с этой задачей справляется предустановленный модуль ipaddress.
С этими классами вы можете выполнять различные операции, о которых подробнее узнаете из документации.
Наиболее эффективно с этой задачей справляется предустановленный модуль ipaddress.
ipaddress.ip_address(address)
— возвращает IPv4Address или IPv6Address на основе address.ipaddress.ip_network(address)
— используется для создания сетей, с маской и набором адресов. Возвращает IPv4Network или IPv6Network на основе address.С этими классами вы можете выполнять различные операции, о которых подробнее узнаете из документации.
⚡️ Пишем эмодзи
Эмодзи, в умеренных количествах, могут улучшить текст, но вот их использование в коде несколько затрудняется, поэтому придумали модуль emoji.
Установка:
Подробнее о модуле вы, как обычно, можете почитать тут.
#миниурок #emoji
Эмодзи, в умеренных количествах, могут улучшить текст, но вот их использование в коде несколько затрудняется, поэтому придумали модуль emoji.
Установка:
pip install emoji
emoji.emojize(text)
— заменяет все особые символы в text на эмодзи.emoji.demojize(text)
— делает наоборот, переводит эмодзи в текст.emoji.is_emoji(char)
— проверяет, является ли char частью набора эмодзи.Подробнее о модуле вы, как обычно, можете почитать тут.
#миниурок #emoji
⚡️ Задачка с собеседования | #Easy
Условие:
Вам необходимо узнать расширение файла по его имени. Если определить не получается, возвращает пустую строку.
Примеры:
get_ext('file') -> ''
get_ext('.not_ext.') -> ''
get_ext('.not_ext') -> ''
get_ext('file.py.exe') -> 'exe'
get_ext('script.py') -> 'py'
📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇
#Задачка_с_собеседования
Условие:
Вам необходимо узнать расширение файла по его имени. Если определить не получается, возвращает пустую строку.
Примеры:
get_ext('file') -> ''
get_ext('.not_ext.') -> ''
get_ext('.not_ext') -> ''
get_ext('file.py.exe') -> 'exe'
get_ext('script.py') -> 'py'
📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇
#Задачка_с_собеседования
⚡️ Отправляем запрос в гугл
Думаю, работая программистом, гуглить вы уже научились. Теперь, надо бы обучить этому программу: для этого воспользуемся модулем google.
Установка:
Модуль, к слову, довольно хорошо настраивается. Вы можете передать в параметры функции user agent, язык, страну и тому подобное.
#миниурок #google
Думаю, работая программистом, гуглить вы уже научились. Теперь, надо бы обучить этому программу: для этого воспользуемся модулем google.
Установка:
pip install google
googlesearch.search(query)
— Отправляет запрос query и возвращает num ссылок в течении num * pause секунд.googlesearch.get_page(url)
— возвращает страницу в необработанном формате в виде набора байтов. Модуль, к слову, довольно хорошо настраивается. Вы можете передать в параметры функции user agent, язык, страну и тому подобное.
#миниурок #google
⚡️ Асинхронное программирование
Если вы каким-либо образом взаимодействуете с интернетом, то вы, наверняка, слышали про это.
Начнём с терминов. Корутина — особая функция, которая должна возвращать управление обратно в цикл событий.
При асинхронном программировании код программы делится на корутины, которые управляются циклом событий. Если одна из корутин переходит в состояние ожидания, в это время может выполняться другая.
А что не так с потоками? При работе с потоками код становится тяжёлым и непонятным, чего мы не любим.
Если вам стало интересно, советуем начать с модуля asyncio.
#миниурок #async
Если вы каким-либо образом взаимодействуете с интернетом, то вы, наверняка, слышали про это.
Начнём с терминов. Корутина — особая функция, которая должна возвращать управление обратно в цикл событий.
При асинхронном программировании код программы делится на корутины, которые управляются циклом событий. Если одна из корутин переходит в состояние ожидания, в это время может выполняться другая.
А что не так с потоками? При работе с потоками код становится тяжёлым и непонятным, чего мы не любим.
Если вам стало интересно, советуем начать с модуля asyncio.
#миниурок #async
⚡️ Задачка с собеседования | #Medium
Условие:
Напишите функцию, которая принимает список из целых чисел и возвращает то, что повторяется нечётное кол-во раз.
Во всех входных данных всегда будет только одно такое число.
Примеры:
solution([7]) -> 7
solution([0, 1, 0]) -> 1
solution([0, 1, 0, 1, 0]) -> 0
📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇
#Задачка_с_собеседования
Условие:
Напишите функцию, которая принимает список из целых чисел и возвращает то, что повторяется нечётное кол-во раз.
Во всех входных данных всегда будет только одно такое число.
Примеры:
solution([7]) -> 7
solution([0, 1, 0]) -> 1
solution([0, 1, 0, 1, 0]) -> 0
📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇
#Задачка_с_собеседования
🖥 Давно хотели приобщить своих младших товарищей к миру IT, но не знали с чего начать?
Онлайн-школа Фоксфорд - идеальное решение. Вот лишь несколько из широкого перечня их курсов для детей:
🔹 Программирование на Python
🔹 Администрирование сервера в Minecraft
🔹 Data Science (Машинное обучение на Python)
И еще одна хорошая новость: у меня есть промокод со скидкой 18 % на их курсы - foxfordskidka
Познакомьте ребенка с профессией его мечты 💫
Онлайн-школа Фоксфорд - идеальное решение. Вот лишь несколько из широкого перечня их курсов для детей:
🔹 Программирование на Python
🔹 Администрирование сервера в Minecraft
🔹 Data Science (Машинное обучение на Python)
И еще одна хорошая новость: у меня есть промокод со скидкой 18 % на их курсы - foxfordskidka
Познакомьте ребенка с профессией его мечты 💫
⚡️ Передаём пароль программе
Я думаю, многие согласятся, что считывать пароль, используя input — неправильно, поскольку любой, кто заглянет в монитор увидит его.
Что же делать? Воспользуйтесь getpass — предустановленный модуль для решения этой задачи.
Подробнее о модуле можете почитать в документации.
#миниурок #getpass
Я думаю, многие согласятся, что считывать пароль, используя input — неправильно, поскольку любой, кто заглянет в монитор увидит его.
Что же делать? Воспользуйтесь getpass — предустановленный модуль для решения этой задачи.
getpass.getpass(prompt, stream=None)
— ожидает ввода пароля от пользователя, не выводя символы на экран.getpass.getuser()
— возвращает имя пользователя. Подробнее о модуле можете почитать в документации.
#миниурок #getpass