Поколение 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
Друзья, все мы с вами любим Stepik. Но наверняка за время пользования платформой у вас появились идеи о том, как сделать его еще лучше и удобнее. Или вы подсмотрели какую-то удобную фичу в другом приложении и подумали: "А было бы здорово, если бы на Stepik она тоже была!". 😉

Напишите в комментариях, какую новую фишку вы хотели бы увидеть на платформе Stepik и почему? 🧑‍🎓

☝️☝️☝️☝️Самые интересные предложения запишем и передадим разработчикам Stepik! 😎

Ставьте реакцию:

❤️ — если Stepik — ваша любимая платформа для обучения
👀 — если есть на примете другие интересные сервисы

#поколениеpython #stepik
Please open Telegram to view this post
VIEW IN TELEGRAM
Друзья, разберем задачку про последовательность чисел. 😉

✔️ В приведенной последовательности выписаны целые числа, начиная с 10, а запятые расставлены через каждые 3 цифры. Таким образом, следующее число последовательности — 192.

Ставьте реакцию:

🔥 — если решили задачу быстро
👀 — если пришлось поломать голову

#разборзадачи
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Друзья, возвращаемся к вам с новым словом недели! Сегодня поговорим об интегрированных средах разработки (IDE). 😎

💙Интегрированная среда разработки (IDE, Integrated Development Environment) — это мощный инструмент, который предоставляет программистам все необходимые средства для разработки, тестирования и отладки ПО в одном приложении.

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

🩷редактор кода: включает подсветку синтаксиса, автодополнение кода и проверку ошибок в реальном времени

🩷компилятор/интерпретатор: позволяет запускать программы прямо из среды разработки

🩷отладчик: инструмент для поиска и исправления ошибок в коде

🩷интеграция с системами контроля версий: позволяет управлять изменениями в коде

🩷инструменты для тестирования: позволяют запускать тесты и проверять корректность работы кода

🩷поддержка плагинов и расширений: многие IDE позволяют добавлять дополнительные функции через плагины, что делает их более гибкими и адаптивными под нужды разработчиков

💙Наиболее популярной IDE для разработки на языке Python является PyCharm.

🩷Помимо IDE для написания программ могут использоваться редакторы кода, такие как Visual Studio Code. Это более легкие инструменты, которые не имеют полного набора функций, доступных в IDE. Однако редакторы кода поддерживают различные плагины и расширения, позволяющие гибко настраивать среду для полноценной разработки ПО.

Ставьте реакцию:

🔥 — если за IDE
❤️ — если за редакторы кода

🔝🔝🔝Сохраняйте пост в избранное, точно пригодится! ✍🏻

#словонедели #поколениеpython
Please open Telegram to view this post
VIEW IN TELEGRAM
Друзья, сегодня решаем задачу про "угадайку". 😉

Артур старший сказал Тимуру:
— Если я сейчас загадаю любое трехзначное число, то оно с вероятностью 5% будет делиться на 25.

Тимур ответил:
— Неправда. Вероятность того, что твое число будет делиться на 25, не больше 1%.

Так кто же прав: Артур или Тимур? 😵‍💫

Пишите ответы и ход своих рассуждений в комментариях, не забывая прятать их под скрытым текстом.

Ставьте реакцию:

🔥 — если легко считаете проценты в уме
👀 — если приходится брать калькулятор

#поколениеpython #задача
Please open Telegram to view this post
VIEW IN TELEGRAM
Друзья, вы наверняка слышали про DDOS-атаки и читали о том, как какой-то сайт “заддосили”. А что это значит? 🤔

🚩DoS-атака (с одной буквой D) расшифровывается как "Denial of Service", то есть “отказ в доступе”. Это онлайн-атака, которая призвана заставить сайт не отвечать на запросы пользователя. Она идет с одного сервера и нацелена на один конкретный домен или виртуальную машину. Такую атаку легко подавить брандмауэром.

Авторы атаки посылают множество ложных запросов на сервера, и когда к сайту пытается подключиться настоящий посетитель, сайт замедляется или совсем перестает отвечать, выдавая ошибку 500 Internal Server Error.

🚩🚩 DDoS-атака (с двумя буквами D) распределена между несколькими системами отправки запросов, поэтому добавляется слово "distributed" — “распределенная”. Чем больше хостов, тем труднее предотвратить воздействие. Для атаки используются сети из обычных компьютеров, которые заражены специальными программами.

❤️Первая DDoS-атака произошла в 1996 году: ее объектом стала компания Panix, один из старейших интернет-провайдеров в мире.

Ставьте реакцию:

🔥 — если знали, что такое DDoS-атаки
👀 — если прочитали об этом впервые

#поколениеpython #япознаюмир #ddos
Please open Telegram to view this post
VIEW IN TELEGRAM
Друзья, а вот и новая задача с собеседований! 😌

🤩🤩🤩🤩🤩🤩
🤩🤩🤩🤩🤩🤩🤩
Реализуйте функцию max_consecutive_elements(), которая принимает один аргумент:

s — строка (0 ≤ len(s) ≤ 10⁶)

Функция должна возвращать максимальное количество идущих подряд одинаковых символов в строке s.
🤩🤩🤩🤩🤩🤩🤩

Примеры тестовых данных:

print(max_consecutive_elements(''))  # 0


print(max_consecutive_elements('bee'))  # 2


print(max_consecutive_elements('python'))  # 1


🤩Пишите свой ход рассуждений и решения в комментариях, не забывая прятать их под скрытым текстом. 😉

Ставьте реакцию:

🔥— если любите находить хитрые способы решения задачи
👀 — если предпочитаете стандартный подход

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

❤️ Нередко при извлечении данных из базы данных бывает необходимо выполнить с ними определенные вычисления, например, определить сумму возвращенных значений или найти среди них минимальное. В SQL для этого предусмотрены агрегатные функции.

❤️ Агрегатные функции — это функции, которые выполняют вычисления на наборе значений и возвращают одиночное значение. Наиболее часто используются следующие агрегатные функции:

🔠AVG() — вычисляет среднее арифметическое числовых значений поля

🔠COUNT() — вычисляет количество записей в таблице или количество значений в поле

🔠MIN() и MAX() — выполняют поиск минимального и максимального значений поля соответственно

🔠SUM() — вычисляет сумму числовых значений поля

🔠GROUP_CONCAT() — используется для перечисления значений поля через запятую

❤️ В общем виде запрос с применением агрегатной функции можно представить следующим образом:

SELECT функция(<имя поля>) AS <имя итогового поля>
FROM <имя таблицы>

😉 Запросы с агрегатными функциями часто используются для анализа данных и создания различных отчетов.

Почитать подробнее об агрегатных функциях можно по ссылке.

Ставьте реакцию:

🔥 — если знали об агрегатных функциях
👀 — если слышите о них впервые

#поколениеpython #базыданных #sql
Please open Telegram to view this post
VIEW IN TELEGRAM
Друзья, хотим напомнить о возможности получить наши фирменные сертификаты о прохождении курсов "Поколения Python"! 😎

Сертификаты доступны в двух форматах: электронном и бумажном.

1️⃣ Получить электронные сертификаты можно по ссылке:

🔗 https://pygen.ru/cert

🔘Обратите внимание на то, что для получения электронного сертификата нужно быть студентом хотя бы одного платного курса. Это сделано для того, чтобы снизить нагрузку на людей, которые делают сертификаты. ❤️

2️⃣ Бумажный сертификат можно получить при покупке мерча в онлайн-магазине "Поколения Python". Мы бесплатно положим в посылку ваши сертификаты и отправим вам.

☝️☝️☝️☝️ Подготовка сертификата занимает до трех рабочих дней. За это время мы проверяем корректность личных данных нашего студента и факт завершения соответствующих курсов. После этого сертификат будет отправлен на электронную почту, указанную при оформлении заявки.

Ставьте реакцию:

🔥 — если собираете все сертификаты, дипломы и удостоверения
👀 — если не понимаете, зачем это делать

#поколениеpython #сертификат
Please open Telegram to view this post
VIEW IN TELEGRAM
Друзья, разбираем задачу с собеседований. 😍

🧡 Данную задачу можно решить несколькими способами. Рассмотрим один из наиболее эффективных:

def max_consecutive_elements(s):
if not s:
return 0

max_count = cur_count = 1

for i in range(1, len(s)):
if s[i] == s[i - 1]:
cur_count += 1
else:
max_count = max(max_count, cur_count)
cur_count = 1

return max(max_count, cur_count)


Здесь мы используем два счетчика:

🧡cur_count — для подсчета длины текущей последовательности одинаковых символов
🧡max_count — для хранения максимальной длины последовательности одинаковых элементов

Проходим по строке и сравниваем текущий символ с предыдущим:

🧡если символы равны, это означает, что текущая последовательность одинаковых символов продолжается, поэтому увеличиваем cur_count на единицу

🧡если символы разные, это означает, что текущая последовательность одинаковых символов завершилась, поэтому нужно сравнить ее длину cur_count с текущим максимальным значением max_count, обновить последнее в случае необходимости и сбросить cur_count до единицы, так как начинается новая последовательность с текущего символа

После выхода из цикла проводим финальную проверку: сравниваем max_count и cur_count на случай, если самая длинная последовательность оказалась в конце строки.

🧡Как вы думаете, какова временнáя и пространственная сложность данного алгоритма? Пишите в комментариях. 😉

Ставьте реакцию:

🔥 — если задача показалась вам легкой
👀 — если пришлось основательно подумать над решением

#поколениеpython #собеседования #разборзадачи
Please open Telegram to view this post
VIEW IN TELEGRAM
Что покажет приведенный выше код?
Anonymous Quiz
31%
6
20%
9
6%
0
43%
произойдет ошибка
Друзья, сегодня поговорим о том, что означает ошибка TypeError: <type> object is not iterable.

Данная ошибка возникает при попытке проитерировать объект, который не является итерируемым.

😳 Где же мы ошиблись в нашей программе?

Дело в том, что мы пытаемся перебрать в цикле for длину списка numbers — целое число, полученное в результате вызова функции len():

for i in len(numbers):


Целые числа (тип int) не являются итерируемыми объектами, поэтому при выполнении программы возникает ошибка TypeError: 'int' object is not iterable.

😌 Для того чтобы исправить ошибку в нашем коде, необходимо использовать функцию range(), которая возвращает итерируемый объект типа range.

Приведенный ниже код:

numbers = [4, 1, 5, 3, 2]
total = 0

for i in range(len(numbers)):
number = numbers[i]
if number % 2:
total += number

print(total)


выводит 9.

Ставьте реакцию:

😎 — если сразу нашли ошибку
👀 — если ошибку отыскать не удалось

#python #полезныйматериал #чтоозначаетошибка
Please open Telegram to view this post
VIEW IN TELEGRAM
Друзья, а как бы вы описали свой типичный рабочий день в трех эмодзи? 😄

(Ладно, можно использовать больше)

Ставьте реакцию:

🔥 — если рады окончанию рабочей недели
👀 — если у вас рабочая суббота или сменный график

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

⭐️ Чтобы число делилось на 25, оно должно оканчиваться на 00, 25, 50 или 75. Давайте посчитаем, сколько всего таких чисел: 100, 125, 150, 175 — и так далее, по 4 числа в каждой сотне.

⭐️ Всего у нас 9 сотен. Получается, что таких чисел 9 * 4 = 36.

⭐️ Существует всего 900 трехзначных чисел: от 100 до 999. Чтобы посчитать процент того, что случайное число делится на 25, нужно 36 разделить на 900:

36/900 = 0,04, то есть 4%.

Выходит, что ошиблись и Тимур, и Артур. 😁

Ставьте реакцию:

🔥 — если быстро справились с задачей
👀 — если пришлось поломать голову

#поколениеpython #разборзадачи
Please open Telegram to view this post
VIEW IN TELEGRAM
Друзья, успели соскучиться по розыгрышам? А мы принесли новый! 😁

🔤🔤🔤🔤🔤🔤🔤

Оставьте звезды под этим постом до 27 апреля
Тот, кто оставит больше всего звезд, получит бесплатный доступ к любому платному курсу на выбор

Развитие телеграм-канала — это большая и сложная задача. Мы пишем посты и сторис, делаем картинки, отвечаем на вопросы в комментариях и следим за порядком в чате. 😉

Полученные "звезды" мы потратим на продвижение нашего канала в Telegram, чтобы студентов "Поколения" стало еще больше! 😍

Ставьте реакции:

🔥 — если считаете себя везучим
👀 — если вы не слишком удачливы

#поколениеpython #розыгрыш #звезды
Please open Telegram to view this post
VIEW IN TELEGRAM
Друзья, продолжаем рубрику "Слово недели". Сегодня поговорим о деплое программного обеспечения. 😵‍💫

🟪Деплой (от англ. deploy — развертывание) является одним из ключевых этапов в разработке ПО, который связывает написание кода и его реальное использование. Задеплоить — это значит сделать программу доступной для пользователей.

К основным этапам деплоя ПО относятся:

запуск и настройка сервера
проверка системы на работу в имитации реальных условий
организация доступа для реальных посетителей и клиентов
мониторинг (отслеживание состояния системы)

Деплой ПО обеспечивает:

1⃣доступность ПО для пользователей: без деплоя код останется просто текстом на компьютере разработчика

2⃣обновления и улучшения ПО: деплой позволяет внедрять новые функции, исправлять ошибки и улучшать производительность кода

3⃣автоматизацию процессов: современные подходы к деплою позволяют автоматизировать рутинные задачи, что ускоряет разработку и снижает вероятность ошибок

4⃣масштабируемость системы: деплой помогает адаптировать приложение под растущие нагрузки, добавляя новые серверы или ресурсы

В небольших компаниях деплоем обычно занимается бэкенд-разработчик. Чаще всего это самый опытный сотрудник, который знает все о сервисе. В более крупных организациях деплоем занимаются DevOps-разработчики.

👩‍💻 Примером популярных инструментов для деплоя ПО является Docker — платформа, которая позволяет упаковать приложение в контейнер со всем необходимым окружением, а затем доставить и запустить его в целевой системе.

Ставьте реакцию:

🔥 — если знали, что такое деплой
👀 — если слышите этот термин впервые

🔝🔝🔝Сохраняйте пост в избранное, точно пригодится! ✍🏻

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

Дана последовательность цифр, часть из которых скрыта за цветками:

1🌸🌸🌸🌸🌸🌸🌸7

Сумма любых трех соседних цифр в этой последовательности равна 15.

😄😉😌😍😉🥰 Какая цифра расположена на втором месте (то есть скрыта за первым цветком)?

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

Ставьте реакцию:

🔥 — если любите цветы
👀 — если равнодушны к ним

#поколениеpython #задача
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Друзья, принесли вам новый вопрос с собеседований! 😉

Что означает приведенная ниже конструкция?

if __name__ == '__main__':
...


Для чего она используется? Объясните механизм ее работы.

Делитесь в комментариях своими ответами на вопрос! 😍

Ставьте реакцию:

🧑‍💻 — если считаете, что к собесам всегда нужно готовиться
👀 — если считаете, что к собесам подготовиться невозможно

#поколениеpython #собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM