2013-09-30 73 views
-1

當我使用成分的功能,如在Collat​​z(MerrenianPrime(號碼)) 我得到的錯誤:如何格式化python中的組合函數?

'Merrenian=2**PrimeCount(Number)-1 
TypeError: unsupported operand type(s) for ** or pow(): 'int' and 'NoneType.' 

我將如何解決這個問題?

這是我的代碼:

def MerrenianPrime(Number): 
    Merrenian=2**Prime.PrimeCount(Number)-1 #PrimeCount=nth Prime and this is where I get an error            
    if Prime.isPrime(Merrenian)==True: #isPrime function checks primality of number 
     print "the prime number",Merrenian,"was found" 
    else: 
     print Merrenian,"is not prime." 

的感謝!

+1

這裏是什麼'Prime.PrimeCount(Number)'?它返回'None'。您需要與我們分享代碼以幫助您。 –

+0

如果你想在其他地方使用返回值,你需要'返回'值,而不是'打印'它們。 – geoffspear

回答

1

Prime.PrimeCount()可調用返回None(通常是因爲您沒有包含return語句)。

修復該方法而不是返回數值。

+0

謝謝!我現在覺得我有點愚蠢! :3 – user2811951