【发布时间】:2019-11-11 20:58:50
【问题描述】:
所以,我想创建一个简单的程序来返回关于连续素数的计算。首先,我创建了一个包含所有这些素数的列表,然后我尝试计算结果,但这给了我一个超出范围的索引。任何人都可以帮助我吗? 我的程序:
primes = []
lista = []
somas = []
def isPrimeNumber(number): #Calculate if is or not prime, here is everything ok
for i in range(1, number+1):
if number % i == 0:
lista.append(i)
if len(lista) == 2 or len(lista) == 1:
lista.clear()
return True
else:
lista.clear()
return False
for c in range(1,100):
if isPrimeNumber(c):
primes.append(c)
for t in range(1,len(primes)): #Here is the problem!
somas[t] = primes[t]/primes[t-1] + primes[t-1]/primes[t]
print(primes)
print(somas)
错误:
Traceback (most recent call last):
File "C:\Users\Leleco\Desktop\primos_teom.py", line 19, in <module>
somas[t] = primes[t]/primes[t-1] + primes[t-1]/primes[t]
IndexError: list assignment index out of range
【问题讨论】:
-
什么是
primos?你得到它的长度,然后索引primes。还是翻译错误? -
而
somas是空的。你只是想添加它吗? -
您不能通过分配给索引来在列表中创建新元素。您需要使用
somas.append()
标签: python list compiler-errors