“PyWhip … the website for Python practice. Learning Python is a skill. It takes practice, not just an understanding of the theory. In fact, you can learn basic Python without any theory. Just read the help pages if you get stuck. Start with the easy problems first. Some of these have hints, or even a complete solution.”
You can enter in programs to solve problems that they pose. Then it checks to see if you got the right answer!