sách gpt4 ai đã đi

Tôi gặp lỗi khi thực hiện phép toán p/p+1 + p+1/p vì p là số nguyên tố trong python

In lại 作者:行者123 更新时间:2023-12-01 06:55:50 31 4
mua khóa gpt4 Nike

所以,我想创建一个简单的程序,返回有关连续素数的计算结果。首先,我创建一个包含所有这些素数的列表,然后尝试计算结果,但这给了我一个超出范围的索引。有人可以帮助我吗?我的程序:

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
khác:
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)

错误:

Theo dõi (cuộc gọi gần đây nhất là cuộc gọi cuối cùng):
File "C:\Users\Leleco\Desktop\primos_teom.py", line 19, in
somas[t] = primes[t]/primes[t-1] + primes[t-1]/primes[t]
IndexError: list assignment index out of range

1 Câu trả lời

一些评论:

  • 对于 1,isPrime 给出 True,而 is 应该返回 False。省略或 len(lista) == 1。例如,参见这个 Numberphile video大约 1 不是质数。
  • 最好将 lista 设为 isPrime() 的局部变量。这样最后就不需要清空了。局部变量仅存在于函数内部,因此您无需担心它们在函数外部。
  • 不用写 if blabla return True else return False,只需使用 return blabla
  • 您需要append将内容添加到somas。 Python 中不允许在 somas 足够长以包含 t 的位置之前将某些内容分配给 somas[t].
def isPrimeNumber(number): #Calculate whether number is prime or not
lista = []
for i in range(1, number+1):
if number % i == 0:
lista.append(i)
return len(lista) == 2

primes = []
for c in range(1,100):
if isPrimeNumber(c):
primes.append(c)

somas = []
for t in range(1,len(primes)):
somas.apppend(primes[t]/primes[t-1] + primes[t-1]/primes[t])

print(primes)
print(somas)

PS:使用zip,总和的计算也可以写成:

for p0, p1 in zip(primes[:-1],primes[1:]):
somas.append(p1/p0 + p0/p1)

关于python - 考虑到 p 在 python 中是素数,当我执行 p/p+1 + p+1/p 操作时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58808629/

31 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com