[英]Process finished with exit code 0 but no output
我只想先說我對 Python 完全陌生,所以請原諒我的無知。
有問題的代碼粘貼在下面,用 Pycharm 編寫: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
輸出是“進程已完成,退出代碼為 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 並使用正確的輸出運行了代碼,所以我不確定問題是什么。
我對這個愚蠢的問題感到抱歉,但如果有人能指出我希望解決這一切的正確方向,我將不勝感激。
非常感謝。
您只是在聲明您的函數,您需要使用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
。
實際上,你的導師寫的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
好的,我明白了,您沒有得到輸出,因為您沒有調用函數,並且當您告訴您是初學者時可能會發生該錯誤並且
還有更多你可以做的,你可以刪除這個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)
希望這會對您的課程有所幫助並祝您好運。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.