Programming and Problem Solving with Python - Ashok Namdev (USA McGraw Hill, 2018)