-1

Collat​​z(MerrenianPrime(Number)) などの合成関数を使用すると、次のエラーが発生します。

'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."

ありがとう!

4

1 に答える 1

1

Prime.PrimeCount()callable が返されます (通常、ステートメントNoneが含まれていないためです)。return

そのメソッドを修正して、代わりに数値を返すようにします。

于 2013-09-30T16:45:36.550 に答える