我正在尝试创建一个函数,如果某个条件为真,那么它将向数组中添加成对的整数,但我的函数总是返回空数组。我试图在条件被验证后打印整数,但它确实打印了它们,所以我想我把它们追加错了。我做错什么了?在
ans = np.array([[0,0]])
def q6(n):
for a in range(n):
for b in range(n):
if ((a**2+b**2)/(a*b+1))%2 == 0:
np.append(ans,[[a,b]], axis=0)
return ans
print(q6(10))
谢谢你
Tags:
这是由于numpy.append()的工作方式造成的。引用文档,该方法返回一个arr的副本,值附加到axis。注意,append并没有在适当的地方发生:一个新的数组被分配和填充。
由于该方法返回
ans
,并且每次调用np.append()
都会返回一个新数组,而不是修改ans
变量本身,因此您将获得原始值[[0,0]]。在相关问题 更多 >
编程相关推荐