Поколение Python 🐍
40.4K subscribers
1.44K photos
15 videos
5 files
587 links
"Поколение Python" — серия курсов по языку Python, разработанная Тимуром и его командой (BEEGEEK 🐝).

Сайт: pygen.ru
Мерч: shop.pygen.ru
Чат: @pygen_ru_comments
Бот: @pygen_ru_bot
Поддержка: @pygen_ru_support
YouTube: youtube.com/@pygen_ru
Download Telegram
Что покажет приведенный выше код?
Anonymous Quiz
42%
bee
17%
geek
7%
beegeek
34%
произойдет ошибка
Please open Telegram to view this post
VIEW IN TELEGRAM
Друзья, прямо сейчас проходит очередной ежегодный официальный опрос Python-разработчиков. Его проводит JetBrains совместно с Python Software Foundation.

Если вы занимаетесь разработкой на Python, потратьте пятнадцать минут на заполнение опроса. Давайте внесем в это дело вклад "Поколения Python"! 🐝❤️🐍

Цель опроса — понять, как развивается мир Python-разработки и что изменилось по сравнению с прошлым годом. А его результаты позволят оценить текущее состояние экосистемы языка.

Итоги опроса скоро будут опубликованы, и мы обязательно ими поделимся с вами.

А вы уже участвовали в опросах Python-разработчиков? Пишите в комментариях!

#опрос #поколениеPython #python
Друзья, а вы знаете историю распродаж 11 ноября? 🧐

Все началось в 1993 году, когда студенты университета города Нанкин решили отмечать День холостяка как своеобразный ответ Дню святого Валентина. Традиция быстро распространилась, и вскоре некоторые предприниматели заметили, что в этот день одинокие люди делают много покупок, чтобы поднять себе настроение. Постепенно праздник начали называть Всемирным днем шопинга. 🛒

Но по-настоящему популярными распродажи 11.11 стали благодаря компании Alibaba. В 2009 году они провели 24-часовой онлайн-марафон скидок, чтобы раскрутить площадку Taobao Mall. Уже в 2012 году распродажа на Tmall обошла по продажам Киберпонедельник, а в 2016-м году подвинула саму Черную пятницу. 😳

В честь Дня холостяка и Всемирного дня шопинга дарим нашим подписчикам промокод KEMALMATHESHA. Он дает скидку 35% на покупку курсов для профессионалов и ООП до 17 ноября. Покупайте курсы через наш официальный сайт pygen.ru. Вкладывайтесь в свое образование — пожалуй, это лучшая из возможных инвестиций. 😎

КУПИТЬ КУРС ДЛЯ ПРОФИ
КУПИТЬ КУРС ПО ООП

Если вы хотите оплатить курс из-за рубежа, напишите нам в бот @pygen_ru_bot.

P.S. Котиков на картинке зовут Кемаль и Матеша. Скоро проведем конкурс на лучшие фото домашних животных (как показал наш опрос, у вас они есть). Готовьте свой архив или камеру. Победители получат бесплатный доступ к одному из наших курсов.

#поколениеpython #скидки #деньхолостяка
Друзья, возможно, вы слышали о моих двух котах. Их зовут Кемаль и Матеша.😺

Кемаль, кстати, изображен на обложке курса по ООП. А все потому, что он помогал нам его ревьювить. 😂

В комментариях к этому посту прикрепляйте фото своих ❤️ домашних животных! Можно также написать пару слов о них: кличку, может быть, интересные истории. 😺🐶

Авторы самых забавных и залайканных комментариев получат бесплатный доступ к нашим курсам!

Итоги конкурса подведем в ближайшее воскресенье.

#конкурс #кемаль #матеша
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Какой язык программирования появился раньше остальных?
Anonymous Quiz
29%
Java
5%
JavaScript
13%
Ruby
16%
Python
6%
GO
31%
C#
Друзья, нас всех связывает увлечение программированием и, конечно же, языком Python.

Хочу привести пять фактов о Python, которые точно будут интересны любому начинающему (и не только) разработчику!

Пишите в комментариях, сколько фактов вам было знакомо. 😎

#python
Друзья, вы наверняка слышали о языке программирования Pascal. Давайте поговорим немного об истории этого языка и об ученом, в честь которого он был назван. 🧐

Язык Pascal разработал в 1970 году швейцарский информатик, профессор компьютерных наук Никлаус Вирт. Он хотел создать язык с интуитивно понятным синтаксисом и строгой типизацией. Именно благодаря этим качествам Pascal долгое время оставался одним из лучших языков для начинающих программистов. Правда, сейчас Pascal в обучении используется уже не так часто, ему на смену пришел Python. 🖥

Свой язык программирования Никлаус Вирт назвал в честь французского математика Блеза Паскаля, стоявшего у истоков информатики. В 1642 году Паскаль создал суммирующую машину — прототип современного калькулятора. Машина Паскаля позволяла в полуавтоматическом режиме производить расчеты с шестизначными числами, что могло бы произвести революцию в финансовой сфере.

Но вот досада: денежная система Франции XVII века не была десятичной! Расчеты велись в ливрах, су и денье. В ливре — 20 су, в су — 12 денье. Так что машина не пользовалась популярностью, хотя принцип ее работы почти на три столетия стал основой для большинства создаваемых вычислительных устройств. 😎

А какой был ваш первый язык программирования? Писали когда-нибудь на Pascal? Расскажите в комментариях!

#япознаюмир #pascal #паскаль
Please open Telegram to view this post
VIEW IN TELEGRAM
Друзья, предлагаем новую задачку на вечер! 🤓

Время 12:21 является палиндромом, поскольку оно читается одинаково слева направо и справа налево. Другие примеры таких палиндромов — это 1:01, 2:02, 1:11, 3:13, 5:35 и так далее.

Несложно посчитать временной интервал в минутах между палиндромами 1:01 и 2:02 — он равен 61 минуте. А какой самый маленький интервал может быть между двумя показаниями времени, которые являются палиндромами? 🧐

Решения пишите в комментариях, не забывая прятать их под скрытым текстом. 😈

❗️Обратите внимание: на наших часах 12-часовой формат времени, то есть на циферблате отображаются часы от 1 до 12, причем 0 в начале не пишется. Например, половина второго будет выглядеть как 1:30.

#задача
Please open Telegram to view this post
VIEW IN TELEGRAM
Друзья, время разбирать вчерашнюю задачу! 🤓

Давайте представим все возможные показания времени, которые являются палиндромами. Самые простые — в которых количество минут повторяет количество часов: 1:01, 2:02 и так далее. Промежуток между ними составляет 60 минут. Многовато!

Если заменить ноль на другую цифру, мы сможем сократить интервал до 10 минут: например, между 1:01 и 1:11.

Попробуем выбрать два палиндрома не в течение одного часа, а в двух соседних! Нам нужно найти наибольший палиндром за один час, а затем наименьший палиндром за следующий час. Значит, первое число будет заканчиваться на :59, а второе — на :01. Нам подходят палиндромы 9:59 и 10:01. Промежуток между ними составляет 2 минуты.

Чтобы получить меньший промежуток, нам придется взять число, заканчивающееся на :00. Но палиндром 0:00 не удовлетворяет условиям задачи, поскольку не существует в 12-часовом формате.

Итак, наименьший интервал между двумя показаниями времени, которые являются палиндромами равен 2 минутам.

#разборзадачи
Please open Telegram to view this post
VIEW IN TELEGRAM
Друзья, давайте поговорим о том, почему у программистов принято использовать i, j и k в качестве имен переменных цикла. 🤓

Так как циклы в программах используются очень часто, при выборе имен счетчиков циклов программисты прежде всего руководствовались идеей удобства и быстроты разработки. Необходимо было выбрать короткие имена, которые можно быстро набрать на клавиатуре. Для этих целей хорошо подошли i, j и k. Однако почему не используют другие короткие имена, например, x, y и z?

Во всем виноваты математики! 😄

Дело в том, что математики издавна использовали буквы i, j и k для обозначения целых чисел (индексов), а для обозначения неизвестных переменных и констант использовали буквы из конца алфавита (..., x, y, z) и из начала алфавита (a, b, c, ...) соответственно. Введение данного правила обычно приписывают ученому Рене Декарту.

Позднее, когда появились компьютеры, идеи математиков отразились и в программировании.

В одном из самых ранних языков программирования FORTRAN целочисленные переменные по умолчанию обозначались буквами алфавита с I по Q: буквой I обозначалась первая целочисленная переменная, буквой J — вторая и так далее. Поэтому они стали использоваться в циклах. Остальными буквами алфавита обозначались вещественные переменные.

Привычки, выработанные программистами, использующими FORTRAN, перенеслись на другие языки программирования.

На тему именования переменных циклов есть много мемасиков. Некоторые из них прикрепили к первому комменту поста.

#полезныйматериал #япознаюмир #цикл
Друзья, а вот и вечерняя задача. 🥳

Буквы в клетках квадрата обозначают некоторые цифры. Для всех строк и всех столбцов подписана сумма пяти чисел, находящихся в них.

Какое пятизначное число получится, если в записи ABCDE все буквы заменить на соответствующие им цифры? 🤔

Решения пишите в комментариях, не забывая прятать их под скрытым текстом. 😈

#задача
Друзья, давайте разберемся со вчерашней задачей. 🤓

Из четвертой строки получаем: 5C = 15, C = 3.

Далее подставляем это значение в клетки пятого столбца и находим значение D = 13 - 4С = 13 - 12 = 1.

Подставляем значения C и D в клетки второй строки и находим значение 2E = 17 - 2D - С = 17 - 2 - 3 = 12, E = 6.

Теперь мы можем найти А по выражению в третьем столбце:
2A = 15 - 2C - D = 15 - 6 - 1 = 8, A = 4.

Наконец, находим значение B, например, из первой строки:
B = 16 - 2A - 2C = 16 - 8 - 6 = 2.

Получается, ABCDE — это число 42316.

#разборзадачи
Друзья, наверняка вы знаете, что в Python операторы * и ** используются не только для работы с числами, но и для распаковки и упаковки итерируемых объектов.

Оператор * используется для распаковки итерируемых объектов, элементы которых представляют собой одно значение (кортежи, списки, строки и другие).

Оператор ** используется для распаковки итерируемых объектов, элементы которых представляют собой пару ключ — значение (словари).

Стоит отметить, что оператор * также работает и со словарями. В этом случае * перебирает не пары ключ — значение, а только ключи словаря.

Операторы * и ** являются синтаксическим сахаром. Они позволяют быстро и гибко, без использования циклов распаковать итерируемые объекты на отдельные элементы или упаковать элементы одного итерируемого объекта в другой.

Это может быть полезно в разных ситуациях. Рассмотрим некоторые примеры:

👍 Часто возникает необходимость распаковки итерируемого объекта на несколько переменных. При этом количество переменных слева от = должно совпадать с длиной объекта распаковки, иначе возникнет ошибка. В случае, когда нам нужно распаковать в переменные только часть элементов объекта распаковки, мы можем использовать оператор * для упаковки ненужных элементов в список.

👍 Операторы * и ** могут быть полезны, когда требуется объединить несколько итерируемых объектов в один. Например, мы можем распаковать с помощью оператора ** несколько словарей в один общий словарь. При этом значения совпадающих ключей будут перезаписаны последним словарем из перечисленных. Также мы можем получить с помощью оператора * общий список ключей нескольких словарей.

Помимо распаковки и упаковки итерируемых объектов, операторы * и ** используются для распаковки и упаковки аргументов функций. Данное применение операторов * и ** мы обсудим в одном из следующих постов.

#полезныйматериал #упаковка #распаковка #packing #unpacking