新博文 python challenge 16 solution