欧拉计画48-如何避免下标错误

时间:2019-03-28 19:02:24

标签: python

我正在尝试完成Project Euler 48

我遇到了一个问题,我要附加的内容不能下标。如何避免这种情况?

我删除了附加到列表的for循环,并要求它打印出n,并且工作正常。当我放回for循环并仅告诉它将n附加到列表时,它可以工作,但是当我尝试附加n[b]时,代码将失败。

i = 1                     #Variable 1 to for the for loop coming later
n = 0                     #Variable 2 to collect to the sum of all the integers
Final = []                #List that the final 10 digits will be append to
for i in range (1, 1000):
  n = n+ i**i             #Groups the sum of the self powers into 1 variable


a = 0                     #Declaring variable for next loop
for a in range (0, 9):     
  b = -10+a               
  Final.append(n[b])      #To append n[-10], n[-9] to n[-1], etc to the list, final
  a += 1                  # So the value of b reduces


print (Final)             #Print results :)

我所期望的是从1到1000的所有自幂的和的最后10位数字。实际出现的是可细分的错误。

1 个答案:

答案 0 :(得分:1)

您几乎拥有它:n是一个int,所以n [i]不起作用。

您要实现的目标是获取数字,只需询问数字字符串即可,而不是数字本身即可访问数字:

digits = str(n)