Think Python ch16 exercises done