Охота на питона | Программирование для детей
173 subscribers
57 photos
44 links
По вопросам сотрудничества и уроков: @kolesnikova1995
Download Telegram
⭐️ У меня вышел новый курс:
f-строки на Python: полный курс от А до Я

Думаете, что уже знаете всё про f-строки?
Спойлер: они умеют гораздо больше, чем просто подставлять переменные в текст 😉

Что вас ждёт?
Все основы f-строк: подстановки, арифметика и отладка
Форматирование чисел, процентов, дат и времени
Многострочные и вложенные f-строки
Новинки Python 3.12+
Мини-проект

Ссылка на курс: https://stepik.org/a/250676

😬 Немного волнительно писать это сюда — впервые рассказываю в этой группе про платный курс.
Я очень старалась сделать материал понятным и полезным, чтобы вам было легко и интересно учиться.
Курс сейчас проходит тестирование и финальную вычитку, так что именно вы можете пройти его в числе первых.

Спасибо всем, кто учится вместе со мной!

P.S. Следующая часть серии Методы строк в Python. Часть 3: Методы поиска и замены — выйдет позже и будет в открытом доступе.
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍145❤‍🔥1👾1
Понедельник – день тяжелый.
Скуфы правду говорят.
Это ж надо... Завтра в школу
В понедельник. Очень рад.
Звезды как-то зло смеются.
Мдаа... Ни охнуть, ни вздохнуть.
Вот как аж третьего проснуться
И календарь перевернуть?
🔥9🤣6👍3
Друзья, готовлю для вас третью часть курса по методам строк — в ней мы поговорим про методы поиска и замены.

Хоть такие курсы и кажутся небольшими по объёму, работу над циклом «Методы строк» я начала ещё в мае. Сначала написала всю теорию про каждый метод и думала: «Ну всё, осталось только придумать тесты и задачи». Ха-ха, наивно 🙂

Каждый день, садясь за задания, я нахожу что-то новое: где-то хочется дописать, где-то исправить, где-то дополнить. Казалось бы, обычный .replace() — и всё понятно… А потом всплывает связка str.maketrans() + .translate(), которая просто разрывает шаблон 😨 С её помощью можно не только заменять символы, но и удалять лишнее.

Давайте возьмём классическую задачу: удалить из строки все гласные буквы.

Исходные данные:
text = "Охота на питона"
VOWELS = "аеёиоуыэюяАЕЁИОУЫЭЮЯ"


Новичок решает так:
result = ""
for ch in text:
if ch not in VOWELS:
result += ch
print(result)


Если знать .replace(), то можно короче:
t = text
for v in VOWELS:
t = t.replace(v, "")
print(t)


Но настоящая магия в связке str.maketrans() + .translate():
table = str.maketrans("", "", VOWELS)
print(text.translate(table))

Всего 2 строчки — и задача решена!

Заинтригованы? Надеюсь, скоро получится закончить и опубликовать курс!
Please open Telegram to view this post
VIEW IN TELEGRAM
28❤‍🔥7
Понимаете, каждый год в конце сентября мы с учениками участвуем в финале Международной Scratch-Олимпиады по креативному программированию — и каждый раз сталкиваемся с кучей проблем. Это у нас такая традиция…

Началось всё в четверг с невинного сообщения:

— У тебя Scratch работает?

У меня он уже несколько лет не запускается без запрещённых сервисов, так что сначала я не увидела в этом ничего странного.

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

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

Но уже через час та же история повторилась и у второго ученика при попытке зайти на сайт Scratch: компьютер перегревался и начинались дикие лаги. Совпадение? Не думаю.

Проверила у себя. Результат: и онлайн, и офлайн Scratch приводят к синему экрану.

Ещё через час то же самое случилось и у третьего ученика. Тогда я решила: всё, стоп. Scratch не трогаем, пока не найдём решение.

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

Все в панике — финал уже 27 сентября, а инструмент, в котором нужно делать 2 из 3 задач, внезапно перестаёт работать. Тут важно отметить, что создатели платформы Scratch и организаторы Scratch-Олимпиады — это разные организации.

Суббота ушла на отчаянные попытки найти решение. Я снова и снова повторяла одну и ту же цепочку:

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

Только одна из 18 найденных версий прошла испытания!

Так что решение найдено. Но традиция сентябрьских катастроф перед финалом Scratch-Олимпиады всё ещё с нами.
😨7🙏1🤝1
😮‍💨 Только что выложила третью часть курса по методам строк в Python!

В этой части мы разберём методы поиска и замены и научимся:

заменять одно слово на другое с помощью replace(),
убирать лишние символы (например, знаки препинания) с помощью str.maketrans() и translate(),
подсчитывать количество вхождений подстроки через count(),
искать нужный фрагмент текста с помощью find(), rfind(), index() и rindex(),
разбираться в отличиях find() и index(),
использовать try-except, чтобы программа не падала при ошибках поиска.

Вот полный список методов из курса:
replace(), maketrans(), translate(), count(), find(), rfind(), index(), rindex()

У меня впереди ещё финальная вычитка и тестирование курса, но вы уже можете записываться и быть первыми, кто его пройдёт! Буду рада вашей обратной связи!

🔗 Бесплатно на Stepik: https://stepik.org/251774

_________________________
#stepik #python #программирование #программированиедлядетей #длядетей #дляшкольников #бесплатныйкурс #игры #курс #дляновичков #курсы #game #ОхотаНаПитона
Please open Telegram to view this post
VIEW IN TELEGRAM
100🔥12👍4🤩2
😡 За урок ни строчки кода! Безобразие!

Ко мне часто приходят с запросом: "Хотим разрабатывать игры! Так сказать направить увлечение ребёнка в мирное русло".

И тут начинаются вопросы: "Вы весь урок болтали / рисовали / пиликали! Где программирование?! Где код?!"

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

Сегодня поговорим о другом:
Разработкой компьютерных игр занимаются только программисты?

Ха-ха, и так сто раз ИЛИ как говорят питонисты "Ха-ха" * 100.

Игры начинаются с сотворения мира… Кхм… Давайте по порядку.

Раздел 1. Задумка и план

Из идеи рождается проект.

Геймдизайнер — придумывает, что именно будет в игре: сюжет, персонажи, правила, механики, баланс. Делает так, чтобы играть было интересно.

Продюсер или менеджер проекта — отвечает за сроки, бюджет и команду. Следит, чтобы игра двигалась вперёд и не развалилась по дороге.

Бизнес-аналитик — помогает заказчику и команде понимать друг друга: превращает "хочу PUBG, но не как PUBG, а как Minecraft, но с элементами GTA V и Roblox" в конкретные задачи.

Технический лидер (Tech Lead) — опытный программист, который оценивает идею и определяет, реально ли её воплотить и какими средствами.

Раздел 2. Подготовка (Pre-production)

Формируется команда и создаются первые материалы.

Концепт-художник — рисует настроение, образы и стиль, чтобы команда понимала, какой должна быть игра.

2D/3D-художники — превращают концепты в конкретные ассеты: персонажей, предметы, локации.

Технический архитектор — проектирует структуру кода и технологий, чтобы всё было надёжно и масштабируемо. Это не про сюжет, а про фундамент игры.

Раздел 3. Основная разработка (Production)

Самый долгий этап, где идеи превращаются в живую игру.

Геймплейный программист — пишет код, чтобы персонажи бегали, прыгали, стреляли, взаимодействовали.

Бэкенд-разработчик — делает серверы и базы данных: мультиплеер, аккаунты, внутриигровые покупки.

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

QA-инженер (тестировщик) — ищет баги, проверяет, что игра работает так, как задумано, и фиксирует ошибки в отчётах.

Аниматор — оживляет персонажей и объекты, создаёт движения и спецэффекты.

Sound-дизайнер — делает атмосферу игры с помощью звуков и музыки.

Раздел 4. Финальная полировка и тесты

Здесь важнее всего качество и производительность.

Продакт-менеджер / продюсер — решает, какие баги критичнее и что исправлять перед релизом.

Специалист по оптимизации — улучшает производительность: убирает "тормоза" и делает так, чтобы игра работала и на мощных ПК, и на "утюгах".

Раздел 5. Запуск и жизнь после релиза

Выпустить игру — это только начало.

Маркетолог и SMM-специалист — рассказывают об игре, делают рекламу, привлекают игроков.

Аналитик — изучает поведение игроков: где застревают, что им нравится, какие внутриигровые товары покупают.

Системный администратор — поддерживает сервера, особенно в первые дни запуска, когда нагрузка огромная.

Специалист по безопасности — защищает игру и игроков от читеров и хакеров.

Итог

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

P.S.

Часто слышу: "Мой ребёнок должен уметь создавать игры от и до сам! Мы не доверяем командам".
А теперь представьте: вы приходите на работу, а коллег нет. Всё нужно делать самому. Надолго ли вас хватит? Сможете одинаково хорошо справляться с каждой профессией? Хватит ли сил и ресурсов выучить всё идеально? Оставлю эти вопросы открытыми для каждого.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥6🤓2👾1
🐱 Сегодня мои ученики участвуют в финале 9-й Международной Scratch-Олимпиады по креативному программированию 2025!

В этом году в финал вышли 214 участников из 24 стран мира:
США, Германия, Россия, Индия, Малайзия, Индонезия, Греция, Болгария, Молдова, Япония, Босния и Герцеговина, Иран, Великобритания, Объединённые Арабские Эмираты, Финляндия, Беларусь, Тунис, Алжир, Казахстан, Ливан, Турция, Мьянма, Таиланд.

Мои ученики:
Финаков Сергей – номинация ScratchTeen (13-14 лет)
Сопин Николас – номинация ScratchTeen (13-14 лет)
Кузнецов Дмитрий – номинация ScratchYouth (15-18 лет)
Тарасов Даниил – номинация ScratchYouth (15-18 лет)
Сопин Вадим – номинация ScratchYouth (15-18 лет)

До 09:00 UTC 29 сентября ребятам предстоит пройти общий тест и выполнить два задания в Scratch: алгоритмическую задачу и творческий проект!

Мы месяц, готовились, разбирали все нюансы и тренировались на примерах прошлых лет. И всё равно утро началось с 1001 вопроса: Где появятся задания? На каком сайте? В какое время откроется доступ? А когда сдавать?

Пожелаем им удачи! 🍀
Please open Telegram to view this post
VIEW IN TELEGRAM
10🏆9🔥7👍4❤‍🔥21🤩1
Людмила Колесникова
У меня в работе несколько курсов. Подскажите, какой из них вы ждёте больше всего?
🧑‍💻 Решено — пишу курс по ООП!

Хочу поделиться личной историей.
С ООП (объектно-ориентированным программированием) я впервые столкнулась в университете. Честно говоря, это было что-то страшное и непонятное — причём для всех. К тому же мы учили его на C++, а его сложно назвать дружелюбным языком.

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


Согласитесь, мозг отключается уже на первом предложении 😐.
После таких формулировок хотелось просто закрыть вкладку и больше туда не возвращаться.

Теперь моя цель — создать курс, который будет понятен и детям, и взрослым.
Такой, после которого не захочется бежать от ООП как от огня.
Такой, после которого больше никто не напишет:
«Только давайте задачки не на ООП!»


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

В общем — курсу быть!
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍15🔥12👏53
😧 Информатика ≠ программирование

Моя специализация — программирование и разработка компьютерных игр.
По образованию я компьютерный инженер, или, как говорят в народе, «тыж программист».
По просьбе хороших людей я решила разобраться с ЕГЭ по информатике — и, честно говоря, была обескуражена...

Задания ЕГЭ по информатике почти не пересекаются с тем, чем реально занимается программист, инженер или любой другой технарь.
А гуманитариям от них и вовсе мало пользы — ведь большинство изучаемых по информатике тем им никогда не пригодятся.

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

Открываем вместе 27 заданий ЕГЭ — и сразу видим: уверенно решить он может только 8.
Остальные темы для него просто незнакомы.
Логика и алгоритмическое мышление позволяют ему догадаться, о чём вообще идёт речь и что примерно нужно сделать, но уверенности нет.
Оказалось, что школьные учителя учили его действительно полезным вещам — тем, что пригодятся в жизни, — а темы, нужные для ЕГЭ, просто пропускали.

Есть и противоположная история.
Другой мой ученик занимается у учительницы, которая на информатике готовит только к ЕГЭ.
Код и комментарии, которым она учит, вызывают массу вопросов и лёгкий глазной тик... Реальное фото прикрепила к посту.
Зато ребята сдадут экзамен — правда, выучив набор шаблонов, не имеющих ничего общего с реальным программированием.

И тут возникает закономерный вопрос: кто прав?
Учителя, которые стараются, чтобы дети после школы действительно что-то умели
или те, у кого ученик сдаст ЕГЭ, но выйдет со школы с сомнительным набором знаний?
Please open Telegram to view this post
VIEW IN TELEGRAM
1😱7💯3🤨3🔥2
Людмила Колесникова
😧 Информатика ≠ программирование Моя специализация — программирование и разработка компьютерных игр. По образованию я компьютерный инженер, или, как говорят в народе, «тыж программист». По просьбе хороших людей я решила разобраться с ЕГЭ по информатике…
Экзамены в школе учат решать,
Им важно, чтоб сдал ты всё точно на «пять».
Ты выучил, как берут интеграл,
И как до Москвы Ломоносов шагал.
А ну-ка теперь, дорогой, милый друг,
Пройди бюрократии замкнутый круг,
Оформи ИП, заплати свой налог,
За свет, и за воду — чтоб точно и в срок.
🔥91
Людмила Колесникова
😧 Информатика ≠ программирование Моя специализация — программирование и разработка компьютерных игр. По образованию я компьютерный инженер, или, как говорят в народе, «тыж программист». По просьбе хороших людей я решила разобраться с ЕГЭ по информатике…
Буквы разные писать,
Чтоб ЕГЭ успешно сдать,
Учат в школе,
Учат в школе,
Учат в школе.
Но ни слова там, мой друг,
О портале госуслуг
Ну не учат,
Ну не учат
Это в школе.

P.S. Все же пропели, да?)
😁13👏4🔥32
Обновление в курсе "Python для геймеров"!

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

Оператор match-case

Пока теория ещё в черновом виде и заданий немного, но суть уже видна.

Коротко: иногда сложно понять, какая ветка if-elif-else сработает - особенно если условий много:
if 6 <= hour < 12:
print("Утро")
elif 12 <= hour < 18:
print("День")
elif 18 <= hour < 23:
print("Вечер")
elif (0 <= hour <= 5) or hour == 23:
print("Ночь")
else:
print("Неверное время")


Многие же путаются с тем, какие границы включительно, а какие - нет. Например, 6 <= hour < 12 включает 6, но не включает 12.

А вот вариант с match-case:
match hour:
case 6 | 7 | 8 | 9 | 10 | 11:
print("Утро")
case 12 | 13 | 14 | 15 | 16 | 17:
print("День")
case 18 | 19 | 20 | 21 | 22:
print("Вечер")
case 23 | 0 | 1 | 2 | 3 | 4 | 5:
print("Ночь")
case _:
print("Неверное время")


match-case сразу сопоставляет значение hour с набором шаблонов и выбирает подходящий вариант.

Да-да, в match-case можно добавлять и if, но тогда пропадёт вся суть сравнения.

🔗 В общем, подробнее по ссылке: https://stepik.org/lesson/2007346/step/1?unit=2035548
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤‍🔥4🔥41🙏1
Первый раздел моего курса по ООП готов! 🐱

Я даже нашла человека без опыта в ООП, который согласился пройти весь раздел прямо при мне — чтобы я сразу записывала все спорные и непонятные моменты.

Мы просидели вместе всю субботу и полдня понедельника: он проходил, а я тут же исправляла и дополняла.

Писала этот раздел больше месяца, а мой "лётчик-испытатель" справился с ним примерно за 8 часов.

А больше всего меня вдохновила его фраза:
"Офигеть, я теперь понимаю, что тут написано!"


Зато теперь я уверена, что тем, кто только начинает изучать ООП, будет всё понятно.
Please open Telegram to view this post
VIEW IN TELEGRAM
5🔥15👍8👏21
Опубликованы предварительные результаты INTERNATIONAL SCRATCH CREATIVE PROGRAMMING OLYMPIAD 2025!

🥇 Тарасов Даниил — ScratchYouth (15–18 лет) — 1 место!

Остальные ребята пока не заняли призовых мест, но мы ещё будем подавать апелляции:

Финаков Сергей — ScratchTeen (13–14 лет)
Сопин Николас — ScratchTeen (13–14 лет)
Кузнецов Дмитрий — ScratchYouth (15–18 лет)
Сопин Вадим — ScratchYouth (15–18 лет)

А ещё мне невероятно приятно, что ребята, которые начинали изучать Scratch со мной, а теперь учатся у других преподавателей, заняли 1 и 2 место в номинации ScratchTeen! Поздравляю Зеленина Алексея и Григорьева Дениса — в прошлом году мы выступали вместе, а в этом они уже смогли показать отличные результаты самостоятельно.

Я невероятно горжусь всеми своими учениками ❤️

Только они и их родители знают, какой длинный и непростой путь мы проходим вместе.
Кто-то пришёл ко мне после неудачного опыта с другими преподавателями, кто-то начинал с того, что без помощи родителей не мог запустить программу — а теперь создаёт собственные игры и проекты.

А кто-то пару лет назад стеснялся отправить работу на конкурс, потому что “звёзды не мерцают”, а теперь сам объясняет малышам, что такое поведение недопустимо (да, да — я буду вспоминать это ещё долго!) 😉

И вот теперь они, как настоящие разработчики, провели 2 дня подряд — с утра до ночи, работая над своими проектами в финале международной олимпиады.

Умнички!
Please open Telegram to view this post
VIEW IN TELEGRAM
6👏6👍4
Людмила Колесникова
Опубликованы предварительные результаты INTERNATIONAL SCRATCH CREATIVE PROGRAMMING OLYMPIAD 2025! 🥇 Тарасов Даниил — ScratchYouth (15–18 лет) — 1 место! Остальные ребята пока не заняли призовых мест, но мы ещё будем подавать апелляции: Финаков Сергей…
В дополнение к предыдущему посту результаты финалистов :

🥇 Тарасов Даниил — ScratchYouth (15–18 лет) — 1 место!
Квиз: 12 / 15
Алгоритмическая: 36 / 36
Креативная: 57,2 (на 4 балла больше, чем у второго места!)

Финаков Сергей — ScratchTeen (13–14 лет)
Квиз: 15 / 15
Алгоритмическая: 12 / 36
Креативная: 52,2 (в этой задаче его обошли всего 4 участника!)
‼️ Подпишитесь на канал Серёжи ТУТ.

Сопин Николас — ScratchTeen (13–14 лет)
Квиз: 15 / 15
Алгоритмическая: 28 / 36
Креативная: 48,6

Кузнецов Дмитрий — ScratchYouth (15–18 лет)
Квиз: 12 / 15
Алгоритмическая: 36 / 36
Креативная: 41,6

Сопин Вадим — ScratchYouth (15–18 лет)
Квиз: 11 / 15
Алгоритмическая: 0 / 36 (вероятно, техническая ошибка 😔)
Креативная: 50,9
Если алгоритмическая задача Вадима будет найдена, то у него есть все шансы попасть в призовую тройку!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7👏32🔥1🙏1
Итоговые результаты INTERNATIONAL SCRATCH CREATIVE PROGRAMMING OLYMPIAD 2025!

🥇 Тарасов Даниил – ScratchYouth (15–18 лет) – 1 место!
🥉 Сопин Вадим – ScratchYouth (15–18 лет) – 3 место! (+36 баллов после апелляции)

Остальные ребята в этот раз не заняли призовых мест,
но показали отличные результаты!

Финаков Сергей – ScratchTeen (13–14 лет)
Сопин Николас – ScratchTeen (13–14 лет)
Кузнецов Дмитрий – ScratchYouth (15–18 лет)

Ребята, я невероятно вами горжусь! ❤️
Please open Telegram to view this post
VIEW IN TELEGRAM
2❤‍🔥13👍84👏1
💫 Открываю для вас доступ к новому курсу по ООП!

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

И вот решение: пока курс в разработке, я открываю бесплатный доступ для всех вас! 🎁

Курс сейчас ещё сырой, так как я продолжаю его писать. Буду очень благодарна, если вы поможете мне сделать его лучше.

🔗 https://stepik.org/course/239925
Please open Telegram to view this post
VIEW IN TELEGRAM
1❤‍🔥13🔥10🙏2
Людмила Колесникова
В курс по ООП добавлена новая тема "Композиция объектов", а также задания к ней.
В курс по ООП добавлена новая тема "Агрегация объектов", а также задания к ней.

P.S. Всем спасибо за комментарии и правки! Вы мне очень помогаете 🥰
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍15🔥71