编写一个名为 randomization 的函数,该函数将正整数 n 作为输入,并返回 A

编写一个名为 randomization 的函数,该函数将正整数 n 作为输入,并返回 A,即随机 n x 1 numpy 数组。


以下是我所拥有的,但它不起作用。


import numpy as np


def randomization(n):

    if n>0 and n==int:

        A=np.random.random([n, 1])

    print(A)

x=int(input("enter a positive number: "))

r=randomization(x)

print(r)

如果我运行这个,我会收到一条消息,说“赋值前引用了局部变量'A'”。


梦里花落0921
浏览 119回答 4
4回答

弑天下

除了chepner所说的之外,np.random.rand期望维度作为参数而不是列表。也就是说,您应该使用 A=np.random.rand(n, 1)。请注意,这将返回均匀分布的随机向量。此外,函数不返回任何值。use - 在末尾返回 A。

慕尼黑8549860

首先,将始终为假,因为不是类型。请改用。n == intnintisinstance(n, int)因此,永远不会被分配,但随后您调用就好像它被分配了一样。Aprint(A)

江户川乱折腾

我认为你正在寻找的是这样的东西。必须定义函数,将 A 设置为随机矩阵 nx1,然后在定义中返回值 A。      A = np.random.random([n,1])             return A

不负相思意

尝试使用这个。请确保您的缩进正确无误:def operations(h,w):    """    Takes two inputs, h and w, and makes two Numpy arrays A and B of size    h x w, and returns A, B, and s, the sum of A and B.    Arg:      h - an integer describing the height of A and B      w - an integer describing the width of A and B    Returns (in this order):      A - a randomly-generated h x w Numpy array.      B - a randomly-generated h x w Numpy array.      s - the sum of A and B.    """    A = np.random.random([h,w])    B = np.random.random([h,w])    s = A + B    return A,B,sA,B,s = operations(3,4)assert(A.shape == B.shape == s.shape)*
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python