Parece que vas a necesitar bastante practica.
Para resolver tu problema te recomiendo hacer lo siguiente:
1.- Tomar tu problema y analizarlo.
2.- Partir tu problema en problemas lo suficientemente sencillos que la solución sea trivial (o casi).
3.- Unir cada uno de esos pedacitos.
Puedes empezar por ahí y de paso enseñarlos que hace tu código linea por linea.
Si quieres un libro que te ayude a aprende lo básico hay varios como
python para todos,
dive into python o
Introducción a la programación con Python. No necesitar leerlos todos, solamente puedes leer las partes que vayas necesitando.
Otra cosa te recomiendo checar la guía
¿Como preguntar en el foro de python?