编写一个名为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“”。
5条答案
按热度按时间7d7tgy0s1#
除了chepner所说的,np.random.rand期望维度作为参数,而不是列表。也就是说,你应该使用A=np.random.rand(n,1)。注意,这将返回一个均匀分布的随机向量。而且,你的函数不返回任何值。在结尾使用- return A。
ss2ws0br2#
首先,
n == int
将始终为false,因为n
不是int
类型。正因为如此,
A
永远不会被赋值,但是当你调用print(A)
时,就好像它被赋值了一样。qco9c6ql3#
我想你要找的是这样的东西,你必须定义你的函数,设置A等于一个随机矩阵nx1,然后在你的定义中返回值A。
希望这能有所帮助
sigwle7e4#
Q)编写一个名为randomization的函数,它以正整数n作为输入,并返回A,一个随机的n × 1 numpy数组。
随机化定义(n):随机数组=np.随机.随机([n,1])返回随机数组a=随机化(4)打印(a)
xvw2m8pv5#
尝试使用此。请确保缩进正确: