python3 version solutions of 1-1 to 1-6 + unit tests