我只是想说我对Python完全陌生,所以请原谅我的无知。
有问题的代码粘贴在下面,用Pycharm编写: 将numpy导入为np
def randomization(n):
"""
Arg:
n - an integer
Returns:
A - a randomly-generated nx1 Numpy array.
"""
n = 8
A = (np.random.rand(n, 1))
print (A)
raise NotImplementedError
输出为“退出代码为0的处理完成”
这种情况是,我正在通过Edx进行在线课程,在那里我必须将自己的代码添加到员工编写的代码中,然后在本地运行。员工编写的未添加我的代码的代码粘贴在下面:
import numpy as np
def randomization(n):
"""
Arg:
n - an integer
Returns:
A - a randomly-generated nx1 Numpy array.
"""
#Your code here
raise NotImplementedError
问题是,每当我尝试运行代码时,都没有输出,给出的唯一消息是“进程已完成,退出代码为0”。 我创建了一个新文件,导入了numpy并以正确的输出运行了代码,所以我不确定是什么问题。
对于这个愚蠢的问题,我感到抱歉,但是如果有人能指出正确的方向,希望我能解决所有问题,我将不胜感激。
非常感谢您。
答案 0 :(得分:3)
您仅声明函数,需要使用randomization(8)
进行调用。那是在你宣布之后。
def randomization(n):
"""
Arg:
n - an integer
Returns:
A - a randomly-generated nx1 Numpy array.
"""
n = 8
A = (np.random.rand(n, 1))
print (A)
randomization(8)
您将获得以下输出:
[[0.52996546]
[0.94198558]
[0.74460257]
[0.72903249]
[0.59923642]
[0.51556176]
[0.96923983]
[0.75166717]]
Process finished with exit code 0
您还将n作为函数的参数,但随后在函数中覆盖了n。因此,要使其在传递的参数上起作用,您将需要删除n = 8
。
答案 1 :(得分:1)
实际上,您的讲师写的raise NotImplementedError
只是一个占位符。您需要将其完全删除并在最后添加return语句。
def randomization(n):
""" Arg: n - an integer Returns: A - a randomly-generated nx1 Numpy array. """
n = 8
A = (np.random.rand(n, 1))
print (A) # you can still keep this just see
return A
答案 2 :(得分:0)
好吧,我明白了,因为您没有调用函数,所以您没有得到输出,并且当您告诉自己是初学者时,可能会发生错误,并且
您还可以执行更多操作,只需删除此 raise NotImplementedError 行,因为它只是引发错误,对代码没有任何意义。>
不需要在代码中给'n'值,您只需调用一个函数并将其作为参数传递即可。
import numpy as np
def randomization(n):
"""
Arg:
n - an integer
Returns:
A - a randomly-generated nx1 Numpy array.
"""
# n = 8
A = (np.random.rand(n, 1))
print (A)
# raise NotImplementedError
randomization(8)
希望这对您的课程有帮助,也很幸运。