1. The problem is that only the last if-else statement actually has any effect, which results in red being chosen 1/4 of the time (when color is 3) and yellow 3/4 of the time (when color is 1, 2 or 4). For example, if color is 1, the first if statement is true and the fill color is set to blue, however, when it get's to the third if (color == 3), this if false and so the code goes to the else clause and sets the fill color to "yellow". 2. You can emulate any for loop with a while loop by introducing a new variable for counting up the number of iterations. You initialize it before the loop, use < to check the number of iterations, and at the end of the while loop you increment the counter by 1. def my_sum(n): total = 0 i = 1 while i < n+1: total += i i += 1 return total 3. Given the list definition my_list = [4, 8, 16, 2, 7, 9] what would each of the following display (or not that an error would occur): print(my_list[1]) print(my_list[4]) print(my_list[6]) print(my_list[len(my_list)-1] print(my_list[-1] print(my_list[1:5]) print(my_list[-3:-1]) a. 8 b. 7 c. Error d. 9 e. 9 f. [8, 16, 2, 7] g. [2, 7]