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

我更喜欢第二段代码。

于 2012-08-05T19:37:36.510 回答
0

你需要缩进python,像这样:

def nthPrime(n):
    y = 0

不像这样:

def nthPrime(n):
y = 0

在此处阅读有关它的更多信息

于 2012-08-05T19:35:13.837 回答
0

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

我的是缺少端括号。- 这家伙的案子false应该是这样的False

于 2017-08-08T23:14:59.670 回答