Python Programming in Context, Second Edition Chapter 1 programming exercises