Python Crash Course
3RD EDITION
A Hands-On, Project-Based Introduction to Programming
by Eric Matthes