我已经编辑了我的问题。该代码包含一个is\u prime公式,该公式指示一个数字是否为prime>;我正在尝试提取3到65范围内的所有prime值
a = []
b = []
c = []
d = []
def ll_prime(n_start, n_end):
for number in range(n_start, n_end):
if is_prime(number) ==True:
a.append(number)
b.append(1)
else:
c.append(number)
d.append(0)
return (list(zip(a,b)))
上面的代码运行良好,但当我调用函数ll_prime(3,65)时,它会给出以下错误:
TypeError Traceback (most recent call last)
<ipython-input-498-1a1a58988fa7> in <module>()
----> 1 ll_prime(3,65)
2 #type(tyl)
3 #list_values = [ v for v in tyl.values()]
<ipython-input-497-d99272d4b655> in ll_prime(n_start, n_end)
11 c.append(number)
12 d.append(0)
---> 13 return (list(zip(a,b)))
TypeError: 'list' object is not callable
有人能告诉我为什么我会犯这个错误吗?我已经搜索了关于stackoverflow的前一个问题,但没有一个对我的情况有帮助。你知道吗
我想要的结果是:[(3,1),(5,1),(7,1)]等等
一个问题是
return
命令在for循环中,因此它只执行一次。这可能就是为什么你没有得到你想要的。当我运行代码时,它返回(3,1),这只是第一组项。如果它只在for循环中运行一次然后返回,那么这是有意义的。试试这个:当我运行时,我得到了正确的答案
您可以使用列表:
您可以使用来自} 并将其与您的列表压缩。你知道吗
itertools
的^{或者你可以使用这样的列表:
到您的解决方案:在解决方案中,您在第一次循环迭代后返回结果。所以它还没有正确的值。试着把回路移到你的回路之外。你知道吗
相关问题 更多 >
编程相关推荐