Understanding - Intermediate, exercise 2
Text
The variable my_mat_list is a list of the ten integer numbers, and the variable my_n_odd is the number of odd numbers in the list. Study the execution of the following function passing my_mat_list and my_n_odd, as input (i.e. f(my_mat_list, my_n_odd)).
def f(mat_list, n_odd):
    if n_odd <= 0 or len(mat_list) == 0:
        return 0
    else:
        v = 0
        result = list()
        for i in mat_list:
            if v > 0:
                result.append(i)
            if i > 0 and v == 0:
                v = i
        return v + f(result, n_odd - 1)
Hints
The function f is a recursive function which act on a selection of the numbers included in the input mat_list parameter.
Additional material
The runnable Python file is available online. You can run it executing the command python exercise_2.py in a shell, and then following the instructions on screen to specify the intended input.