Python语法错误"def"

pau*_*uvo 0 coding-style python-2.7

我正在尝试编译这段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 
Run Code Online (Sandbox Code Playgroud)

但我在"def"的第9行有这个错误

SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)

Jef*_*ker 5

这是你的代码的一个固定的后续版本,在适当的缩进以及使用TrueFalse,不truefalse:

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
Run Code Online (Sandbox Code Playgroud)

这里的代码版本更符合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
Run Code Online (Sandbox Code Playgroud)

我更喜欢第二段代码.