在python中的代码中获取索引错误

-1 python

def fact(n):
    fac = 1
    while (n>1):
        fac = fac*n
        n -= 1

    return fac

z = 0
t = int(raw_input())
nz = []
for i in range(0,t):
    c = 0
    n = int(raw_input())
    z = fact(n)

    z = list(str(z))
    for j in range(len(z)-1,1,-1):
        if z[j] != '0':
            break
        else:
            c +=1
    nz[i].append(c)
for k in range(0,t):
    print nz[k]
Run Code Online (Sandbox Code Playgroud)

你好,我得到了

Indexerror:索引超出范围"nz [i] .append(c)

这个程序应该计算N的阶乘中的尾随零.你能帮我优化我的代码,所以它也可以运行N的大值吗?

zch*_*zch 6

nz是空列表.它没有任何元素,所以nz[i]总是会提高IndexError.也许你的意思是nz.append(c).添加c到最后nz.