0

私はこのPythonコードをコンパイルしようとしています-

def isPrime ( n ):
    if n < 2 :
        return false
    for x in range(2,n):
        if (n % x)==0:
            return false
    return true

def nthPrime ( n ):
    y = 0
    z = 1
    while y< n:
        z+=1
        if isPrime( z ):
            y+=1
    return z 

しかし、「def」の9行目でこのエラーが発生しています

SyntaxError: invalid syntax
4

3 に答える 3

5

これは、適切なインデントとTrueand False、 not trueandを使用したコードの修正バージョンfalseです。

def isPrime( n ):
    if n < 2 :
        return False
    for x in range(2,n):
        if (n % x)==0:
            return False
    return True

def nthPrime( n ):
    y = 0
    z = 1
    while y < n:
        z+=1
        if isPrime( z ):
            y+=1
    return z

PythonのPEP 8 スタイル ガイドにより準拠したバージョンのコードを次に示します。

def isPrime(n):
    if n < 2:
        return False
    for x in range(2, n):
        if (n % x) == 0:
            return False
    return True


def nthPrime(n):
    y = 0
    z = 1
    while y < n:
        z += 1
        if isPrime(z):
            y += 1
    return z

私は 2 番目のコードの方が好きです。

于 2012-08-05T19:37:36.510 に答える
0

次のように、python をインデントする必要があります。

def nthPrime(n):
    y = 0

このようではありません:

def nthPrime(n):
y = 0

詳しくはこちら

于 2012-08-05T19:35:13.837 に答える