加强这个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做到这一点?