Python Simple
247 subscribers
54 photos
6 videos
163 links
by mr.Gold
Download Telegram
Всем привет! Сегодня такой вопрос:

Какая разница между Iterable и Iterator?

Важно понимать разницу, часто думают, что это одно и то же, но это не так
5
Субъективная оценка
Недавно у меня на собеседовании спросили, на сколько хорошо я знаю python и какую бы оценку поставил себе по 10-ти бальной шкале.
Я немного задумался, т.к. перед этим ставил оценку на Кинопоиске и 5 - это средняя, 6 - это выше средней, 7 - хорошо и тд, то есть 6 - это уже достаточно хорошая оценка. При этом я помню, как Страуструп говорил, что сам знает С++ на 8, а он его придумал. Как я могу поставить себе 8-ку, когда я даже не контрибьютил в core-python?
По моему я сказал 7 или 6.5. Но как синьер может сказать, что он знает основной ЯП даже на 7? В этом смысле эта оценка кажется низкой. Что от меня хотели услышать, не знаю даже. Если бы спросил про то, на какой грейд я хочу попасть, было бы проще ответить.
Оцените себя по 10-ти бальной шкале:
3
Я знаю python на:
Anonymous Poll
17%
1
19%
2
19%
3
15%
4
9%
5
4%
6
2%
7
11%
8
0%
9
4%
10
Что-то давно мы с вами ничего не решали, предлагаю немного окунуться снова в алгоритмы и борьбу с leetcode
Задачка уровня мидиум, но ничего смертельно сложного в ней нет
1338. Reduce Array Size to The Half

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

Ссылочка на ориганльное условие: https://leetcode.com/problems/reduce-array-size-to-the-half/description/

Задача у нас стоит как всегда одна, засабмитить на литкоде, рассказать как делали, какие фишки применяли.
Вечером в воскресенье бахну разбор (если не забуду)!
4👍1
Задачка на эту короткую неделю. Это не стареющая классика, с небольшим доп условием.
Ее часто спрашивают на собесах или дают в контестах.
3163. String Compression III

Нам дана строка word и нам надо сжать ее с помощью следующего алгоритма
-Мы начинаем с пустой строки
-Далее для каждой буквы повторяющейся подряд не более 9 раз мы прибавляем к результирующей строке количество + букву
-Если буква повторяется более 9 раз нам надо сросить счетчик

наша задача вернуть сжатую строку

Оригинал условия
https://leetcode.com/problems/string-compression-iii/description/

Наша задача как всегда решить и засабмитить на литкоде
🔥41
На этой неделе задача easy, но я что-то в ней закапался минут на 40.
И так нам дан список с целыми числами, который представляет число разбитое на цифры.
А так же нам дано число, которое необходимо прибавить к этому списку так, как будто он тоже число.

Ссылочка на задачку, там же оригинальные условия и примеры.
Нам как всегда, надо до воскресенья, решить и засабмитить на литкоде.

https://leetcode.com/problems/add-to-array-form-of-integer/submissions/1451826150/

P.S. Сначала я думал, что решается в 2 строки, но я никогда так не ошибался и написал какой-то костыль.
Надеюсь кто-то решит поэлегатнее 😂👉👈
3
Наступил вечер среды, а это значит нас ждет очередная задача на эту неделю.
Задачка у нас уровня медиум, но это не самый хардовый медиум

И так нам дан массив с целыми числами nums, длины n и целое число положительное число k
И нам надо найти мощность подмасивов длинной k входящих в данный массив. И вернуть их в виде списка.

Мощность массива вычисляется в том случае, если все элементы в нем отсортированы в порядке возрастания и разница между этими элементами равна 1. В таком случае мощность равна максимальному элементу подмасива.

Если же элементы не соответсвуют выще описанному требованию, то следует вернуть -1.

https://leetcode.com/problems/find-the-power-of-k-size-subarrays-i/description/

Как всегда приветсвуются идеи и жаркие дискусии, в воскресенье покажу Вам как я решил!
🔥4
Очередной вечер среды, а это значит у нас новая задачка.
Она чем-то перекликается с задачей прошлой недели.

У нас есть список с целыми числами и два целых числа m и k
Наша задача вернуть максимальную сумму подмассива длинной k, в котором есть как минимум m уникальных значений.
Если такой подмассив не обнаружен, необходимо вернуть ноль.

Ссылочка на задачку
https://leetcode.com/problems/maximum-sum-of-almost-unique-subarray/description/


p.s. Я сам решил, но мне не нравится как у меня получилось, так что жду от Вас пропрывных идей)
3
Всем доброго вечера, с небольшим запозданием летит задачка.
Не пугайтесь того, что она уровня медиум(этот тот самый изи, который замаскировался под медиум.

И так нам дана строка S и список с целыми числами spaces. В этом списке индексы тех мест, где в результирующей строке должны быть пробелы.
Наша задача, вернуть результирующую строку, которая будет создана на основе строки s и пробелов на тех индексах, что указаны в списке spaces

Наша задача засабмитить задачку до обеда воскресенья)

Оставляю ссылочку на примеры и на оригнал условия. И жду ваших решений (на питоне тут можно вообще люто считерить)

https://leetcode.com/problems/adding-spaces-to-a-string/description/
3
Всем доброго вечера, среды!
Устал я от медиум задач, так что на этой неделе нас ждет легкая задачка.

На вход нам даются два числа, candies - количество конфет, num_people - количество людей между которыми надо распределить эти конфеты.
Конфеты распределяются следующим образом, первый человек получает 1 конфету, второй 2 конфеты, третий 3 конфеты до тех пор, пока не закончаться конфеты, если мы достигли последнего человека, то мы переходим в начало и начинаем снова с первого человека.

Если число конфет, которые мы должны дать человеку n больше чем, количество конфет, которое у нас осталось, мы отдаем этому человеку все конфеты что остались.

Наша задача вернуть список длиной равный num_people, где каждый индекс олицетворяет человека в очереди, где будет отражено финальное распределение конфет.

Оригинал условия и ссылочка на задачку

https://leetcode.com/problems/distribute-candies-to-people/description/

Нам как всегда надо засабмитить на лииткоде и поделиться кодом в комментах!
4
Всем привет!

Около двух месяцев назад я начал работать на новом месте, и хочу поблагодарить @sergey_emelyanov22 за то, что все это время он развлекал нас (и, наверное, больше всего меня) задачами с литкода.

Я тем временем практически адаптировался и появилось много мыслей, т.к. это нетипичная компания относительно моего предыдущего опыта. Но есть большая вероятность, что мысли в голове так и останутся) Хотя я уже убедился, что многое из того, что кажется мне очевидным, далеко не всегда очевидно для других.

Ну а следующий год Python-а 🔤, с чем всех и поздравляю!
С наступающим НГ! ☃️
Please open Telegram to view this post
VIEW IN TELEGRAM
7🎄1
Всем привет! Пора оторваться от игристого и салатов и построить новые нейронные связи.
Начинаем год вот с такой задачки.
Нам дан список со строками words и двумерный массив с числами queries.
Каждый элемент в queries это диапазон границ в котором надо найти найти все слова которые бы начинались на гласные буквы и заканчивались на гласные буквы (левая и правая границы входят в диапозон поиска)
Вернуть надо список длины такой же как queries, где для каждого queries[i] будет подсчитано количество подходящих под условие слов.
Обратите внимание, что гласными буквами являются 'a', 'e', 'i', 'o' и 'u'.

https://leetcode.com/problems/count-vowel-strings-in-ranges/description/?envType=daily-question&envId=2025-01-02

Наша задача до обеда воскресенья засабмитить на литкоде и написать алгоритм за O(n) , за O(n + m) работать не будет, я проверял ) 😀
3
Всем привет!
В Тинькофф Т-Банке открылся набор на стажировки, кому интересно, предлагаю подключиться к решению задач, отдельно постов по каждой задаче не будет, обсуждать можно тут в комментах или в чатике.
Сама стажировка - https://education.tbank.ru/start/python/
Кстати там есть не только python
🔥7
Все пытаюсь закрыть гештальт с алгоритмами. Если брать в общем, то простые задачи и мидловые (не все) решаю нормально, собесы прохожу, правда не всегда.

С работы пару человек рекомендовали алгосы от практикума, якобы хороший интенсив, но там надо в темпе фигачить дедлайны и тд. (кстати тут интересный кейс, на моей работе челу оплатили курс на прошлой, и он благодаря этому курсу смог хорошо пройти собес и уволиться с прошлой работы)

И вот осенью я купил курс от Влада Тена, там нет дедлайнов, и он дешевле в несколько раз, ну минус в том, что я был только на 4-5 лекциях, но они есть в записи. Подача крутая, все круто, но отложил опять алгосы (глубокое литкод понимание).

Но вот опять скинули стажировку, да, она мне не нужна, но я понимаю, что со всеми годами опыта, я не смог бы его решить в ограниченное время. Возможно пришло время закрыть эту тему и допройти курс, дорешать задачи, тем более, что подача реально крутая и не напряжная.

Эх, хотел на диагностике от Яндекса протестить навыки (до и после), но они закрыли проект. Ладно, можно к ним на собес будет попасть, но задачи на собесе, это рандом обычно. Кодефорсис сильно напряжно, но наверное самый верный индикатор.

В чате удивили некоторые начинающие разработчики, кто уже хорошо шарит алгоритмы.

Алгомонстры, можете в комментах написать, как вы смогли? Может кто-то ещё сможет)
7
Топ-1 книг по подготовке к собеседованию

Однажды на работе у нас была встреча, где обсуждали проведение собеседований. Один из вопросов звучал так: «Что делать, если кандидат отвечает очень чётко и конкретно, и есть подозрение, что у него есть слив вопросов с собеса?» Ответ куратора был такой: «Если он выучил всё, что нас интересует, значит, он нам подходит. Чтобы хорошо пройти собеседование, достаточно внимательно прочитать "fluent python"».

Лучано Рамальо — «Python. К вершинам мастерства»

У меня когда-то было первое издание этой книги. Я купил её только из-за глав про асинхронность, но потом был приятно удивлён, насколько глубоко и подробно разобраны и другие темы.
Стоит отметить, что книга не для новичков и может показаться сложной. Однако темы, которые часто спрашивают на собеседованиях, разобраны в ней очень детально.
Не советую читать её от корки до корки. Лучше берите интересующую тему, находите её в книге и погружайтесь.

Есть ещё несколько полезных ресурсов:

- Канал Олега Молчанова.
- Курс «Поколение Python» (сам не проходил, но знаю людей, которые его рекомендовали и немного листал).

Но у меня сложилось впечатление, что это виды адаптации книги Рамальо.
Если кого-то интересует 9-ти часовой разбор этой книги от Диджитализируй, welcome https://youtu.be/yHckrS1lvG8?si=IhnC9f06TjN7EqbU

P.S. Совсем забыл ещё один из ресурсов - этот @python_simple канал)
7
Всем привет!

У одного из наших подписчиков @sergey_emelyanov22 оказался лишний экземпляр книги "Python. К вершинам мастерства", и он предложил разыграть его среди участников. Мы решили сделать это через турнир на платформе codebattle.hexlet.io

На платформе можно создать игру, выбрать сложность задачи, тайминг и тег задачи. К сожалению, конкретную задачу выбрать тоже можно, но мы договоримся выбирать случайную). Основная фишка в том, что во время игры участники видят код друг друга в реальном времени. Это позволяет подсмотреть идею у соперника и отправить решение быстрее.

Важный момент:
Победа не всегда зависит от уровня знаний. Можно выбрать простую задачу и выиграть, просто написав минимальный код быстрее оппонента, например, одно арифметическое действие.

Формат турнира:
Предлагаю играть до двух побед. Сначала один участник создает игру, выбирая уровень сложности, время и случайную задачу. Затем второй участник делает то же самое. Если потребуется третий раунд, то опять выбирает первый, тут надо будет договориться, кто будет первым (прокачка софт-скиллов)

Если хотите участвовать, поставьте плюсик в комментариях. Я составлю сетку и добавлю вас в турнир. Даже если книга вам не нужна, всё равно присоединяйтесь!

Не забудьте заглянуть в чатик канала на время турнира, чтобы быть в курсе всех обновлений.
4
Всем привет!
Ни разу еще не писал про Авито, но вот на что наткнулся:
https://start.avito.ru/ - стажировочка

Кто недавно окончил универ или еще учится, рекомендую!

Ознакомиться с прошлыми наборами можно у них на гитхабе: https://github.com/avito-tech/tech-internship/tree/main/Tech%20Internships/Backend

Правда есть впечатление, что в приоритете гошники, но выполнять тестовое на других ЯП тоже допускается
3🔥2
Всем привет!

Невыполнимые задачи 😭

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

Это сопровождается стрессом, потому что задача висит давно, тебя спрашивают о прогрессе, и, возможно, ты уже сказал что-то, что не совсем соответствует действительности (по поводу прогресса). А в это время ты помогаешь коллегам, берешься за другие задачи, вытираешь пыль, но не делаешь то, что нужно было закончить ещё неделю назад. Это сказывается на сне, настроении и даже на том, с каким настроем ты подключаешься к дэйли.

Какие это задачи?

- Серые зоны: то есть надо разобраться как работают сторонние сервисы, с которыми взаимодействует ваш проект, есть черный ящик или непонятен алгоритм работы чего-то
- Неясные требования: нет понимания, что от тебя хотят в итоге. Иногда даже непонятно, какие должны быть эндпоинты для клиента. И таких задач со временем становится всё больше.
- Плохая декомпозиция: задача не разбита на части, непонятно, за что браться сначала и есть ли у этого вообще конец.
- Создание с нуля: нужно написать какой-то функционал с нуля, а не вписать в существующую архитектуру.
- Пункт для вашего пункта)

Советов особо нет, сам наступаю на грабли, но всё же:

1. Можно декомпозировать задачу. Разбейте её на части, которые можно сделать отдельно. Да, это не всегда получается, но это важный навык.
2. Зацепись за что-то конкретное, чтобы можно было двигаться дальше, как в японском кроссворде. Например, я часто иду от пользователя к бизнес-логике: от схемы эндпоинтов к реализации функционала. Если реализовать ручки, то уже можно прийти с вопросами к заказчику и уточнить детали.
3. Принцип fail fast, fail cheap - лучше быстро накосячить, получить фидбек и исправить, чем долго тянуть, а потом всё равно накосячить. Но тут важно соблюдать баланс: если косячить слишком часто, могут возникнуть вопросы к твоей компетенции.

Если есть ещё советы или примеры с задачами, буду рад почитать)
8
Python Simple
https://yandex.ru/yaintern/backend Судя по всему начался сезон стажировок
А никто не откликался?
Даже на хабркарьере появились вакансии джунов в Яндекс https://career.habr.com/companies/yandex/vacancies
👍3