Python语法错误“def”

时间:2012-08-05 19:32:29

标签: 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 

但是我在“def”

的第9行遇到了这个错误
SyntaxError: invalid syntax

3 个答案:

答案 0 :(得分: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

这是你的代码版本,它更符合python的PEP 8 style guide

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

我更喜欢第二段代码。

答案 1 :(得分:0)

你需要缩进python,就像这样:

def nthPrime(n):
    y = 0

不喜欢这样:

def nthPrime(n):
y = 0

详细了解here

答案 2 :(得分:0)

好的,所以这显然是一个超级noob错误(就像我现在一样),但问题是错误不在第9行(或者你的def标签是什么)但实际上是之前的行。

我是一个缺席的结束。 - 这个家伙的情况就像false应该是False