en
Feedback
Python Lounge: работа и стажировки для программистов

Python Lounge: работа и стажировки для программистов

Open in Telegram

Здесь можно найти интересующую вас работу и стажировки для программистов, а так же полезные статьи про Python. Размещение вакансии только - @perezvonyubot Ссылка на канал: @python_lounge Мы входим в сеть promopoisk.com Реклама: @adtgassetsbot

Show more
4 245
Subscribers
No data24 hours
-157 days
-6530 days
Posts Archive
​​Как одной математической формулой по номеру месяца посчитать количество дней в нем? Попробуем написать функцию f(x), которая бы давала следующий список значений (таблица №1), то есть количество дней в месяцах. Помимо стандартных арифметических операций, мы будем использовать целочисленное деление и взятие остатка по модулю. Обычно количество дней в месяце колеблется между 30 и 31. При этом, можно заметить зависимость этого числа от четности месяца — значит, воспользуемся операцией взятия остатка по модулю 2. Кажется, это должно быть нечто, вроде: f₁(x) = 30 + x % 2 # таблица №2 Пока что не обращая внимания на февраль, нам нужно, чтобы +1 в делимом «активировалось» только при достижении аргументом значений, больших 8. При этом значения аргумента не могут превосходить 12. Значит, нам идеально подойдет целочисленное деление аргумента на 8: f₃(x) = 30 + (x + x // 8) % 2 # таблица №3 Все правильно, кроме февраля. Как неожиданно. В самой последней версии нашей формулы февралю достались целых 30 дней. А потому нам нужно отсечь у него пару дней. Естественно, от этого пострадают и еще какие-то месяцы, поэтому нам придется пожертвовать именно январем, затем подправив формулу и для него. Отсечь дни для первого и второго месяцев можно с помощью выражения 2 % x. Тогда наша формула принимает уже следующий вид: f₄(x) = 28 + (x + x // 8) % 2 + 2 % x # таблица №4 Остался последний шаг — подлатать январь. Это сделать не так сложно: просто добавим 2 дня только к нему, т.е. к такому месяцу, чей номер меньше либо равен единице. Как вам идея использовать для этой цели 1 // x? Проверяем: f₅(x) = 28 + (x + x // 8) % 2 + 2 % x + 1 // x * 2 # таблица №5 Превосходно, 12 из 12. Подобная функция на языке Python может быть записана следующим образом: f = lambda x: 28 + (x + x // 8) % 2 + 2 % x + 1 // x * 2 print(f'В июне {f(6)} дней') # Out: В июне 30 дней

Switch-конструкция с помощью словаря К сожалению, в Python не существует switch-конструкций, в отличие от большинства других языков программирования, и поэтому приходится строить башни из условных операторов в своём коде. Однако есть одно хитрое решение — использовать словарь, где значениями будут функции. Например, напишем словарь, который будет использован для математических операторов. switch = { '+': lambda x, y: x + y, '-': lambda x, y: x - y, '*': lambda x, y: x * y, '/': lambda x, y: x / y } В этом примере были использованы lambda-функции для простоты, но вместо них можете подставить любые другие. Для тех, кто не знает: lambda - объявление анонимной функции (можно косвенно сравнить с def); x, y - принимаемые аргументы; x + y - то, что функция возвращает. result = switch['*'](4, 5) print(result) # Output: 20 Примерно вот так мы можем пользоваться подобной штукой. Думаю, что многие найдут полезное применение подобному использованию словарей.

Создаем свой простенький локер - вирус, блокирующий компьютер; а также используем новый интересный модуль Tkinter: часть 5

Использование списков в качестве стеков Стек — абстрактный тип данных, представляющий собой список элементов, организованных по принципу LIFO (англ. last in — first out, «последним пришёл — первым вышел»). Методы встроенного списка в Python позволяют очень легко использовать список в виде стека. Чтобы добавить элемент на вершину стека, используйте append(). Чтобы извлечь элемент из верхней части стека, используйте pop() без явного индекса. Пример: >>> stack = [3, 4, 5] >>> stack.append(6) >>> stack [3, 4, 5, 6] >>> stack.pop() 6 >>> stack [3, 4, 5] >>> stack.pop() 5

23 июня в 20:00 мск OTUS приглашает на открытый вебинар «Тестирование вёрстки с помощью Selenium и Python». Вебинар бесплатны
23 июня в 20:00 мск OTUS приглашает на открытый вебинар «Тестирование вёрстки с помощью Selenium и Python». Вебинар бесплатный, но пройдет в рамках набора на онлайн-курс «Python QA Engineer». Пройдите вступительный тест - и вам напомнят о вебинаре заранее: https://otus.pw/v5js/ На занятии разработаем собственный фреймворк сверки изображений. Подключайтесь 23 июня, будет интересно и профессионально.

​​18 июня пройдет открытый практический вебинар «Модульные монолиты и DDD». Присоединяйтесь, будет интересно и профессионально: https://otus.pw/TJoR/ На открытом уроке будут рассмотрены основные паттерны для построения и написания модульных монолитов. Особое внимание будет уделено паттернам DDD. Вебинар ведет руководитель программы, преподаватель-практик Станислав Щетинников (программирует больше 10 лет. Архитектурой систем занимается уже больше 6 лет.) На данный момент директор разработки в Домклик. До этого несколько лет работал руководителем разработки в myTarget. Любит Data Science, python, golang, DDD и микросервисную архитектуру.   Вебинар проходит в рамках набора на профессиональный онлайн-курс «Архитектор программного обеспечения». Чтобы попасть на этот курс с welcome-скидкой, пройдите вступительный тест: https://otus.pw/x5oO/

​​8 июня в 20:00 (мск) – День Открытых Дверей онлайн-курса «Разработчик C++». Запишитесь: https://otus.pw/ifaq/ Встречу проведет преподаватель курса, Сергей Кольцов – TeamLead C++ в компании VisionLabs, опытный разработчик и инженер с более чем 10 летним стажем. 👉🏻 Первые 20 участников, зарегистрировавшихся на вебинар, получат Сертификат на скидку на электронную почту в течение 1-2 дней после трансляции.  👉🏻 Еще 10 сертификатов на скидку распределят в прямом эфире между теми, кто записался на вебинар.  Запись на участие в розыгрыше закрывается в день проведения вебинара в 16:00 (полные правила акции читайте на сайте https://otus.ru/legal/promo/) Применить Сертификат можно только после успешного прохождения вступительного тестирования. Так что готовьте вопросы, сдавайте вступительный тест и присоединяйтесь: https://otus.pw/46IhU/

KaiCode - это первый в своём роде сбор на одной площадке авторов open source проектов, в Москве, 5 сентября. Huawei спонсируе
KaiCode - это первый в своём роде сбор на одной площадке авторов open source проектов, в Москве, 5 сентября.  Huawei спонсирует и организует. Отошлите им ссылку на свой GitHub проект, его рассмотрят и лучших пригласят на площадку для выступления и защиты. Три лучших проекта получают в руки по $5000 каждый и возможность дальнейшей поддержки от Huawei.  Пишите им в Телеграм группу @kaicode за подробностями и бесплатным билетом на вход.

Учимся работать с полями для пользовательского ввода и вывода данных, а также практикуемся в использовании кнопок Tkinter: часть 4

Подходит ли вам онлайн-курс «Разработчик Golang»? Фаст чек за 5 секунд: - Хотите работать над сложным интересным софтом? - Зн
Подходит ли вам онлайн-курс «Разработчик Golang»?  Фаст чек за 5 секунд: - Хотите работать над сложным интересным софтом? - Знаете, как потратить зарплату от 130 тыс. рублей? - Подумываете устроиться в крупную IT-корпорацию? - Готовы к 5 месяцам интенсивных занятий и практики? - Имеете опыт разработки на любом языке ООП от 1 года и знаете Git? Если ответили ДА на все вопросы, приходите в OTUS изучать Golang и писать на нем свой микросервис под руководством экспертов. Проходите вступительный тест, чтобы успеть присоединиться к группе: https://otus.pw/NNOu/

В прошлых уроках мы научились рисовать графики и добавлять кнопки, в этом уроке мы с вами научимся располагать виджеты по нашему усмотрению Tkinter: часть 3

@yegor256news - авторский англоязычный канал Егора Бугаенко, программиста, блоггера, автора Elegant Objects, создателя платфо
@yegor256news - авторский англоязычный канал Егора Бугаенко, программиста, блоггера, автора Elegant Objects, создателя платформы Zerocracy и частого спикера на многих крупных IT-конференциях; подписывайтесь и следите за его творчеством!

Продолжаем осваивать модуль Tkinter, в этот раз учимся использовать Canvas и сразу же применяем его на практике Tkinter: часть 2

​​С помощью Data Science уже много чего сделано. Но вот Средиземье, кажется, ещё никто не спасал.   А вот вы можете — на бесплатном онлайн-марафоне Нетологии. Вам предстоит добраться до Роковой горы, уничтожить Кольцо Всевластия и восстановить мир. Делать это будете с помощью SQL, Python и Machine Learning.  Регистрируйтесь, будет интересно ↓ http://netolo.gy/fw9

18–20 мая пройдёт бесплатный интенсив от Никиты Левашова, сооснователя и технического директора в Lia. В прямом эфире создади
18–20 мая пройдёт бесплатный интенсив от Никиты Левашова, сооснователя и технического директора в Lia. В прямом эфире создадим программу для автоматического подбора паролей, расскажем, как проводить атаки и защищаться от них. Подробности по ссылке: 👉 https://clc.to/K3MWHQ.  Почему Python — отличный выбор, если ты только начинаешь изучать программирование? ✔ Имеет предельно простой и дружественный синтаксис. ✔ Реализован практически на всех платформах и ОС. ✔ Позволяет разрабатывать любые IT-продукты. ✔ Востребован на рынке труда стартапами и компаниями-гигантами. Регистрируйтесь и сделайте шаг к карьере в IT!

Начинаем новую серию уроков, где будем создавать приложения с пользовательским интерфейсом с помощью модуля Tkinter Tkinter: часть 1

Изменение списка во время итерации по нему Предположим, что требуется удалить все нечетные числа из списка. Проблема со следующим кодом должна быть довольно очевидной: odd = lambda x: bool(x % 2)  #функция проверки числа на нечетность numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] for i in range(10):   if odd(numbers[i]):      del numbers[i] # удаление элемента из списка во время итерации по нему # Output: Traceback (most recent call last): if odd(numbers[i]): IndexError: list index out of range Удаление элемента из списка во время его итерации – это проблема, которая хорошо известна любому опытному разработчику. К счастью, Python включает в себя ряд элегантных парадигм программирования, которые при правильном использовании могут привести к значительному упрощению и оптимизации кода. Одна из таких парадигм – list comprehensions. Генераторы списков часто используют именно для решение подобных проблем, что и показывает реализация кода ниже: odd = lambda x: bool(x % 2)  # функция проверки числа на нечетность numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] numbers = [n for n in numbers if not odd(n)] # генератор нового списка print(numbers) # Output: [2, 4, 6, 8, 10]

15 мая в 20:00 (мск) приглашаем на бесплатный вебинар: “Pytest: введение в автотесты”. Пройдите вступительный тест из 20 вопр
15 мая в 20:00 (мск) приглашаем на бесплатный вебинар: “Pytest: введение в автотесты”. Пройдите вступительный тест из 20 вопросов на одном из самых популярных языков программирования в мире - Python. Если сможете сдать — пройдёте на продвинутый онлайн-курс для разработчиков: https://otus.pw/Razf/

Оператор pass делает абсолютно ничего, то есть совсем ничего. В ходе исполнения данного оператора ничего не происходит, поэтому он может использоваться в качестве некой заглушки в тех местах, где это синтаксически необходимо. Например, вам надо сделать несколько функций, вы написали def'ы и названия, но сам код еще не успели, однако программу надо запустить и проверить что-то другое. Вот тут и понадобится pass. def func(): pass Ну или в конструкции try-except, чтобы просто проигнорировать и никак не обрабатывать ошибку в программе. try: any_function() except: pass В общем, полезная штука, используйте.

Открыт новый набор на практический онлайн-курс «Разработчик Golang». Пройдите тест и успейте поступить с максимальной скидкой
Открыт новый набор на практический онлайн-курс «Разработчик Golang». Пройдите тест и успейте поступить с максимальной скидкой: https://otus.pw/Hq4X/ Что ждет вас на курсе? Вот отзывы выпускников прошлых групп: • «Рассчитан на подготовленных людей, т.к. кода в домашках будет много, но взамен получите хорошую практику разработки» • «Курс даст крепкую базу middle разработчика» • «Выпускной проект сложный, но интересный, в портфолио можно смело класть (проверено)». Освойте и вы этот универсальный актуальный язык на профессиональном уровне за 5 месяцев! Проходите вступительный тест и присоединяйтесь к закрытому сообществу знатоков Golang.