I don't get how a "for" loop that iterates through the elements of a list can be out of range. First part seems to be okay as I can print it.
import random
def random_list(n):
    l = []
    for i in range(0,n):
        l.append(random.randint(0,n))
    return l
def maximum(n):
    x = 0
    b = random_list(n)
    for i in b:
        if b[i] > x:
            x = b[i]
print (maximum(10))