![](/img/trans.png)
[英]Using NLTK getting error: unsupported operand type(s) for *: 'NoneType' and 'int'
[英]Error: unsupported operand type(s) for /: 'NoneType' and 'int'
我已經看到了幾個類似的問題,但沒有一個以正確的方式解決了我的問題。 意思是說答案的方法對我不起作用或沒有意義。 我將為您提供適合我的代碼及其所帶來的錯誤。
Error: unsupported operand type(s) for /: 'NoneType' and 'int'
是錯誤,代碼是:
#Define iteration#
iteration=0;
iterationNum=0;
#Define encryption#
def encrypt(num,iteration):
num=cos(num/(iteration+1));
def runEncrypt(array,iterationNum):
for j in range(iterationNum):
for i in range (len(array)):
array[i]=encrypt(array[i],j);
#Internal test area#
array1=[1,2,3,4,5];
encryptedArray=runEncrypt(array1,4);
print(encryptedArray);
encrypt
函數沒有return
語句,因此其返回值將為None
(沒有return
語句的Python函數的默認返回值),因此在外部循環的第一次迭代中, None
將分配給array
每個元素runEncrypt()
。 這意味着,在外循環的第二次和以后的迭代中,將使用(None, j)
作為其參數來調用encrypt()
,並且由於程序試圖將None
除以一個整數而引發錯誤。未定義。
要解決此問題,只需重新定義encrypt
,如下所示:
def encrypt(num, iteration):
return cos(num / (iteration + 1))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.