我正在尝试编译这段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
答案 0 :(得分:5)
以下是代码的修正版本,包含正确缩进并使用True
和False
,而不是true
和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 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)
答案 2 :(得分:0)
好的,所以这显然是一个超级noob错误(就像我现在一样),但问题是错误不在第9行(或者你的def标签是什么)但实际上是之前的行。
我是一个缺席的结束。 - 这个家伙的情况就像false
应该是False