Один раз я уже написал про проект Эйлера, но тогда полноценно с ним не познакомился. Теперь распишу немного подробнее.
Для начала две ссылки: https://projecteuler.net/archives - сам проект Эйлера, https://euler.jakumo.org/problems.html - перевод задач на русский язык (если у вас идеальный английский, то вторая ссылка вам ни к чему). Решать задачи можно просто для себя, но гораздо интереснее будет зарегистрироваться на сайте.
Регистрация простейшая: логин + пароль и вы в системе. У вас есть доступ к 678 задачам (на данный момент) - решать можно в любом порядке. У каждой задачи есть свой уровень сложности, довольно условный, но есть. Если вы нашли ответ на какую-нибудь задачу, то на странице с текстом задания можно его ввести и проверить. После правильного решения откроется доступ к ветке форума с обсуждением задачи, где можно найти другие алгоритмы решения. Есть ачивки за решения + учет всех решенных вами задач. Можно добавить друзей и следить за их успехами. Из-за последних двух возможностей я для себя назвал это "игровым" программированием.
Я свою первую задачу решил 10 ноября, а сейчас уже дошел до 17. Но если первая десятка почти без проблем, то во второй встречаются сложности. Несколько задач можно было решить чисто математически, но я же учусь программированию, поэтому на все писал программы. В этом проекте особо отчетливо столкнулся с вопросом оптимизации кода - вроде написал правильный алгоритм, но решение придет только через час, два, три...
Поставил для себя цель - выполнить, как минимум, 50 задач. Очень хорошо мотивирует дальше заниматься изучением Питона.