列表索引超出范围,试图获得[-1]位置

时间:2017-10-08 22:59:12

标签: python-3.x list

我已经测试过看看列表是否为空,我确定它不是空的。那么为什么会出现这种错误 代码是找到一个和的最小量的阶乘等于N

def fat(n):
    if n == 0 or n == 1:
        return 1 
    else:
        return n * fat(n - 1) 

n = int(input())
ns = [x+1 for x in range(n)]
listaFat = []
l = []
for x in ns:
    if fat(x) < n:
       listaFat.append(x)
maior = max(listaFat)
listaFat.remove(maior)

print(listaFat)
print(len(listaFat))
while (fat(listaFat[-1]) + fat(maior)) < n:
   l.append(listaFat[-1])
   if len(listaFat) > 0:
       listaFat.remove(listaFat[-1])
       continue
   else: break


print(l)
print(listaFat)

0 个答案:

没有答案