finishes the python self learning finally