Пропадает мотивация к изучению python, правильно ли я делаю?
Но, я прекрасно понимаю, что делает определенная строка кода, что нужно изменить, чтобы заработало так, как нужно мне и т.д. Но не могу написать все сам с нуля, что-то вылетает из головы, что-то забываю, и снова приходится подглядывать.
Это называется "иллюзией компетентности", ваш мозг вас обманывает.
Важно правильно работать с учебным кодом. Не запускать скачанный с сайта издательства код, а набирать его самостоятельно, после прочтения главы, и пытаться запустить. Если запуск не получается, то главу вы не поняли и её надо перечитать. После того, как запуск удался, можно сравнивать свой код с кодом автора. Стоит поэкспериментировать с кодом, внести в него несколько изменений, чтобы убедиться, что вы действительно понимаете, как он работает, а не просто успешно повторили заученные действия.
P.S. У вас заголовок вопроса расходится с текстом. Непонятно на что именно отвечать.
Согласен с Ильей в части своего хоть небольшого, но проекта. Из моей практики, сколько бы книжек ни читал, сколько бы туториалов ни делал, это все в воздухе зависает, если это не приложить к чему-то реальному, .т.е. своему проекту.