簡體   English   中英

錯誤:/不支持的操作數類型:“ NoneType”和“ 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM