I believe you can learn serious things through silly games.
I'd like to make this into a book or something, similar to the Python bioinformatic/data science (https://github.com/kyclark/practical_python_for_data_science) repo. I think you will learn best by doing, so I think I will write this as a loose collection of exercises that spell out the skills I aim to teach with each exercise. I will create descriptions for each exercise with examples of how the program should work along with a test suite. You will need to write the program that satisfies the test suite.
I provide a program in the bin directory called new_py.py that will help you stub out new Python programs using the fabulous argparse module to parse the command line arguments and options for your programs. I highly recommend you start every new program with this. For example, if the README say "Write a Python program called abc.py that ...", then you should do this:
$ new_py.py -a abc
To create a new abc.py program that has example code for you to start writing your program.
Ken Youens-Clark kyclark@gmail.com