在这种情况下,为什么我会得到不受支持的操作数类型?

Why am I getting unsupported operand types in this case?

x_list = []
for i in range(N):
  x_list.append(np.random.random)
y_list = []
for i in range(N):
  y_list.append(np.random.random)
c_list = []
for i in range(N):
  xi = x_list[i]
  yi = y_list[i]
  if (pow(xi, 2) + pow(yi, 2) <= 1):
    c_list.append(True)
  else:
    c_list.append(False)

在 pow() 函数的行中,我收到一条错误消息,指出 pow() 函数中不支持的操作数类型。它说 xi 和 yi 是函数,我不明白为什么;他们对我来说就像数字

您正在附加一个函数 np.random.random 而不是调用该函数。将附加行替换为

x_list.append(np.random.random())

y_list.append(np.random.random())

(注意括号)