gpt4 book ai didi

python - 使用列表寻找解决方案

转载 作者:太空宇宙 更新时间:2023-11-04 08:53:33 25 4
gpt4 key购买 nike

我正在尝试生成代码,该代码将首先在函数 perfectsq(p) 中找到 modulos p 下的所有完美正方形。

有了完美正方形的列表。我想找到方程 y^2=x^3+Ax+B 的所有解。为此,我使用 perfectsq(p) 中的列表来检查 m=x^3+Ax+B 是否在该列表中。谁能告诉我为什么这段代码无法编译?

def perfectsq(p):
x=[]
for i in range(1,p):
m=(i**2)%p
x.extend(m)
i+=1


def ellipticpt(a, b, p):
x=perfectsq(p)
if 4*(a**3)+27*(b**2) != 0:
for i in range(0,p):
m=(i**3+a*i+b)%p
if m in x:
i=x.index(m)+1
print (m,i)
i+=1
else:
i+=1
else:
print "Error"

最佳答案

perfectsq x.extend(m) TypeError: 'int' object is not iterable

您不能 .extend() 一个带有单个数字参数的列表,它用于用另一个列表扩展一个列表。请改用 .append() 添加到列表的末尾。

同样 perfectsq() 不返回任何东西

尝试:

def perfectsq(p):
x=[]
for i in range(1,p):
m=(i**2)%p
x.append(m)
i+=1
return x


def ellipticpt(a, b, p):
x=perfectsq(p)
if 4*(a**3)+27*(b**2) != 0:
for i in range(0,p):
m=(i**3+a*i+b)%p
if m in x:
i=x.index(m)+1
print (m,i)
i+=1
else:
i+=1
else:
print "Error"

关于python - 使用列表寻找解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32707057/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com