Довольно печатать вложенный словарь, с лимитом

Усиление этого question, я получил:

def pretty(d, steps = -1, indent = 0):
    for key, value in d.iteritems():
        c = 0
        print '\t' * indent + str(key)
        if isinstance(value, dict):
            pretty(value, indent+1)
        else:
            print c
            if(c == steps):
                return
            c += 1
            print '\t' * (indent+1) + str(value)

который мечтает о печати до тех пор, пока не будет напечатано определенное количество значений исходного ключа. Например, без ограничения:

1
5299
    1
1229
    1
2068
    1
7223
    1

но когда steps = 2, он будет печатать:

1
5299
    1
1229
    1

Причина, по которой его мечты не оправдались, заключается в том, что c не является статической переменной (как в C, я пробовал static c = 0 и получил синтаксическую ошибку), поэтому при каждом вызове рекурсии c создается снова, он не помнит его прежнее значение.

Как это сделать в Python?