列表分配索引超出范围。你能帮助我吗 ?

时间:2015-03-14 07:48:55

标签: python python-3.x

j=1
n=int(input())
flag=[]*29
a=[]*29
for i in range(len(a)):
    a[i]=1.0/(i+2)
for j in range(2**29):
    temp=j
    index=0
    sum=0
    while temp>0 and index<29:
        flag[index]=temp%2
        index=index+1
        sum+=(temp%2)*a[index]
        temp=temp/2
if sum==1:
    count=0
    index=index+1
    for i in range(index):
        if flag[i]==1:
            count+=1
    if count==n:
        for i in range(len(flag)):
            if flag[i]!=0:
                print(flag[i]+"/"+(i+2)+"")

log:IndexError:列表分配索引超出范围

我无法修复.list分配索引超出范围。你能帮助我吗 ?

1 个答案:

答案 0 :(得分:0)

&#34;指数=指数+ 1&#34;当i = max(index)

时,当调用flag [i]时,会将其设置为超出范围的30