solution to problem 2 in python with optimizing help from reddit